ignorePlurals
false
(plurals and singulars are treated differently)
'ignorePlurals' => true|false|['language ISO code', ...]
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
Treats singular, plurals, and other forms of declensions as matching terms.
The ignore plurals functionality (explained here in depth) considers the following forms as equivalent - that is, they match even if they are spelled differently:
- singular forms
- plural forms
- any inflected forms due to declensions (for languages where it applies)
For example, “car” and “cars”, or “foot” and “feet”, are considered equivalent.
Usage notes
-
ignorePlurals
is used in conjunction with thequeryLanguages
setting. -
You can send
ignorePlurals
one of 3 values:-
true, which enables the ignore plurals functionality, where singulars and plurals are considered equivalent (foot = feet). The languages supported here are either every language (this is the default, see list of languages below), or those set by
queryLanguages
. -
false, which disables ignore plurals, where singulars and plurals are not considered the same for matching purposes (foot will not find feet).
-
a list of language ISO codes for which ignoring plurals should be enabled. This list will override any values that you may have set in
queryLanguages
.
-
-
For optimum relevance, it is highly recommended that you enable only languages that are used in your data. Enabling all languages (setting
ignorePlurals
totrue
without settingqueryLanguages
) may have unintended side effects, with pairs of words being unexpectedly treated as equivalent. For example, the French word “chair” (which means “flesh”) would find “chairs” in an English index. -
List of supported languages with their associated language ISO code:
Afrikaans=af
Arabic=ar
Azerbaijani=az
Bulgarian=bg
Catalan=ca
Czech=cs
Welsh=cy
Danish=da
German=de
English=en
Esperanto=eo
Spanish=es
Estonian=et
Basque=eu
Finnish=fi
Faroese=fo
French=fr
Galician=gl
Hebrew=he
Hindi=hi
Hungarian=hu
Armenian=hy
Indonesian=id
Icelandic=is
Italian=it
Japanese=ja
Georgian=ka
Kazakh=kk
Korean=ko
Kirghiz=ky
Lithuanian=lt
Maori=mi
Mongolian=mn
Marathi=mr
Malay=ms
Maltese=mt
Norwegian Bokmål=nb
Dutch=nl
Norwegian=no
Northern Sotho=ns
Polish=pl
Pashto=ps
Portuguese=pt
Quechua=qu
Romanian=ro
Russian=ru
Slovak=sk
Albanian=sq
Swedish=sv
Swahili=sw
Tamil=ta
Telugu=te
Tagalog=tl
Tswana=tn
Turkish=tr
Tatar=tt
Ukrainian=uk
Urdu=ur
Uzbek=uz
Chinese=zh
Examples
Set the default Query Languages
In this example, we set Spanish (‘es’) as the default language
for ignorePlurals
1
2
3
4
$index->setSettings([
'queryLanguages' => ['es'],
'ignorePlurals' => true
]);
Override Query Languages
In this example, we override the Spanish default for ignorePlurals
by adding Catalan (‘ca’) to its list of languages.
1
2
3
$results = $index->search('query', [
'ignorePlurals' => ['ca', 'es']
]);