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¶
$analyzers¶
Analyzer configuration.
|
|
Tags
$boost¶
Boost for certain fields.
|
|
Array of boosts to apply for certain fields – the array should look like this:
array(
'title' => 2,
…
)
$fuzziness¶
Fuzziness of the fulltext search.
|
|
May be a value between 0. (fuzzy) and 1. (sharp).
$operator¶
The operator used by the Criterion.
|
|
$target¶
The target used by the criteria (field, metadata...).
|
|
$value¶
The value(s) matched by the criteria.
|
|
$valueData¶
Additional value data, required by some criterions, MapLocationDistance for instance.
|
|
$wildcards¶
Analyzer wildcard handling configuration.
|
|
Tags
$customFields¶
Custom field definitions to query instead of default field.
|
|
Methods¶
__construct() ¶
Performs operator validation based on the Criterion specifications returned by {@see getSpecifications()}.
|
|
Parameters
Name | Type | Default value | Description |
---|---|---|---|
$value | mixed | - | - |
$properties | array<string|int, mixed> | [] | - |
getCustomField() ¶
Retun custom field.
|
|
If no custom field is set, return null
Parameters
Name | Type | Default value | Description |
---|---|---|---|
$type | string | - | - |
$field | string | - | - |
getSpecifications() ¶
Criterion description function.
|
|
Returns the combination of the Criterion's supported operator/value, as an array of Specifications objects
- Operator is one supported Operator, as an Operator::* constant
- ValueType is the type of input value this operator requires, either array or single
- SupportedTypes is an array of types the operator will accept
- ValueCountLimitation is an integer saying how many values are expected.
// 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<string|int, Specifications>
setCustomField() ¶
Set a custom field to query.
|
|
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 | - | - |