Copied!

FullText

FullText.php : 50
Extends Criterion

Full text search criterion.

The string provided in this criterion is matched as a full text query against all indexed content objects in the storage layer.

Normalization and querying capabilities might depend on the system configuration or the used search engine and might differ. To find about supported querying capabilities you can use SearchService::supports() method.

If supported, advanced full text query has the following semantics:

  • If multiple words are specified an OR query is performed.
  • Boolean operators are supported: AND (&&), OR (||), NOT (!).
  • Required/prohibit operators are supported: +, -.
  • Grouping is supported through parentheses.
  • Phrases are supported using double quotes.
  • Simple wild cards are supported. If an asterisk (*) is used at the end or beginning of a word this is translated into a wild card query. Thus "fo*" would match "foo" and "foobar", for example.
  • Advanced language analysis (like stemming, synonym expansion and stop word removal) might be applied to the words provided in the query.

If advanced full text query is not supported, basic query format will be available:

  • If multiple words are specified an AND query is performed. OR queries are not supported.
  • Simple wild cards are supported. If an asterisk () is used at the end or beginning of a word this is translated into a wild card query. Thus "fo" would match "foo" and "foobar", for example.
  • Simple stop word removal might be applied to the words provided in the query.

Properties

public $boost

FullText.php : 74

Boost for certain fields.

public array<string, float|int> $boost = []

Array of boosts to apply for certain fields – the array should look like this:

array( 'title' => 2, … )

public $fuzziness

FullText.php : 57

Fuzziness of the fulltext search.

public float $fuzziness = 1.0

Value between 0. (fuzzy) and 1. (sharp).

public $operator

Criterion.php : 21

The operator used by the Criterion.

public string $operator

public $target

Criterion.php : 33

The target used by the criteria (field, metadata...).

public string|null $target

public $value

Criterion.php : 28

The value(s) matched by the criteria.

public array<string|int, scalar>|scalar $value

public $valueData

Criterion.php : 38

Additional value data, required by some criteria, MapLocationDistance for instance.

public Value|null $valueData

protected $customFields

FullText.php : 81

Custom field definitions to query instead of default field.

protected array<string, array<string, string>> $customFields = []

Methods

public__construct()

FullText.php : 86

Creates a Criterion.

public __construct(string|null $value[, array<string|int, mixed> $properties = [] ])

Parameters

Name Type Default value Description
$value string|null - -
$properties array<string|int, mixed> [] -

publicgetCustomField()

FullText.php : 125

Return custom field.

public getCustomField(string $type, string $field) : string|null

If no custom field is set, return null

Parameters

Name Type Default value Description
$type string - -
$field string - -

Return values

string|null

publicgetSpecifications()

FullText.php : 101

Criterion description function.

public getSpecifications() : array<int, Specifications>

Returns the combination of the Criterion's supported operator/value, as an array of Specifications objects

// IN and EQ are supported
return [
    // The EQ operator expects a single value, either as an integer or a string
    new Specifications(
        Operator::EQ,
        Specifications::FORMAT_SINGLE,
        Specifications::TYPE_INTEGER | Specifications::TYPE_STRING
    ),
    // The IN operator expects an array of values, of either integers or strings
    new Specifications(
        Operator::IN,
        Specifications::FORMAT_ARRAY,
        Specifications::TYPE_INTEGER | Specifications::TYPE_STRING
    )
]

Return values

array<int, Specifications>

publicsetCustomField()

FullText.php : 113

Set a custom field to query.

public setCustomField(string $type, string $field, string $customField) : void

Set a custom field to query for a defined field in a defined type.

Parameters

Name Type Default value Description
$type string - -
$field string - -
$customField string - -