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 -engine
only matches records containing “search”, but not “engine”search-engine
matches records containing “search” and “engine” (there’s no exclusion because the minus (-
) is in the middle of the word)-search
matches every record except those containing “search”-search engine
matches 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
]);