advancedSyntax
false
'advancedSyntax' => true|false
Can be used in these methods:
search,
setSettings,
browseObjects,
searchForFacetValues,
generateSecuredApiKey,
addApiKey,
updateApiKey
search,
set_settings,
browse_objects,
search_for_facet_values,
generate_secured_api_key,
add_api_key,
update_api_key
search,
setSettings,
browseObjects,
searchForFacetValues,
generateSecuredApiKey,
addApiKey,
updateApiKey
search,
set_settings,
browse_objects,
search_for_facet_values,
generate_secured_api_key,
add_api_key,
update_api_key
search,
setSettings,
browse,
searchForFacetValues,
generateSecuredApiKey,
addAPIKey,
updateAPIKey
search,
setSettings,
browseObjects,
searchForFacetValues,
generateSecuredApiKey,
addApiKey,
updateApiKey
Search,
SetSettings,
Browse,
SearchForFacetValues,
GenerateSecuredApiKey,
AddApiKey,
UpdateApiKey
Search,
setSettings,
browse,
searchForFacetValues,
generateSecuredApiKey,
addApiKey,
updateApiKey
Search,
SetSettings,
BrowseObjects,
SearchForFacetValues,
GenerateSecuredAPIKey,
AddAPIKey,
UpdateAPIKey
search,
setSettings,
browse index,
search into facet values,
generateSecuredApiKey,
add key,
update key
About this parameter
Enables the advanced query syntax.
This advanced syntax brings two additional features:
-
Phrase query: a specific sequence of terms that must be matched next to one another. A phrase query needs to be surrounded by double quotes (
"). For example, the query"search engine"only returns a record if it contains “search engine” exactly in at least one attribute.Note: Typo tolerance is disabled inside the phrase (i.e. within the quotes).
-
Prohibit operator: excludes records that contain a specific term. To exclude a term, you need to prefix it with a minus (
-). The engine only interprets the minus (-) as a prohibit operator when you place it at the start of a word. A minus (-) within double quotes (") is not treated as a prohibit operator.Some examples:
search -engineonly matches records containing “search”, but not “engine”search-enginematches records containing “search” and “engine” (there’s no exclusion because the minus (-) is in the middle of the word)-searchmatches every record except those containing “search”-search enginematches records containing “engine”, but not “search”"-engine"matches records containing “-engine” (no exclusion performed)
Examples
Enable advanced syntax by default
1
2
3
$index->setSettings([
'advancedSyntax' => true
]);
Enable advanced syntax for the current search
1
2
3
$results = $index->search('query', [
'advancedSyntax' => true
]);