setQueryLanguages method

AlgoliaQuery setQueryLanguages(
  1. List<String> value
)

QueryLanguages

Sets the languages to be used by language-specific settings and functionalities such as ignorePlurals, removeStopWords, and CJK word-detection.

queryLanguages performs 2 roles:

  • It sets a default list of languages used by removeStopWords and ignorePlurals (if they are enabled). For example, if you enable ignorePlurals, the languages set in queryLanguages will be applied.

  • It sets the dictionary for word-detecting in CJK languages (=Chinese “zh”, Japanese “ja”, or Korean “ko”). For this, you need to place the CJK language first in queryLanguages’s list of languages. For example, to ensure that Chinese word-recognition is based on a Chinese dictionary, and not the general algorithm used for all languages, you need to place Chinese in the first position of the list of languages. Likewise for Japanese and Korean, they need to be first in the list to ensure proper dictionary-based parsing./// Usage notes:

  • When working with Japanese data, you also need to set “ja” in the indexLanguages parameter.

  • If you do not use queryLanguages, the engine will use either the system default (all languages) or the list of languages specified directly in ignorePlurals and removeStopWords.

  • As already noted, queryLanguages creates a default list of languages. This default that can be overridden by any setting that uses the default. For example, if you set the default to English and French, you can set ignorePlurals to use the default but set removeStopWords to recognize only English stop words.

  • For optimum relevance, it is recommended to only enable languages that are used in your data.

  • List of supported languages with their associated language ISO code:

    Afrikaans=af    Arabic=ar     Azerbaijani=az    Bulgarian=bg    Bengali=bn     Catalan=ca    Czech=cs        Welsh=cy
    Danish=da       German=de     Greek=el          English=en      Esperanto=eo   Spanish=es    Estonian=et     Basque=eu
    Persian (Farsi)=fa            Finnish=fi        Faroese=fo      French=fr      Irish=ga      Galician=gl     Hebrew=he
    Hindi=hi        Hungarian=hu  Armenian=hy       Indonesian=id   Icelandic=is   Italian=it    Japanese=ja     Georgian=ka
    Kazakh=kk       Korean=ko     Kurdish=ku        Kirghiz=ky      Lithuanian=lt  Latvian=lv    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     Brazilian=pt-br                Quechua=qu    Romanian=ro     Russian=ru
    Slovak=sk       Albanian=sq   Swedish=sv        Swahili=sw     Tamil=ta        Telugu=te     Thai=th         Tagalog=tl
    Tswana=tn       Turkish=tr    Tatar=tt          Ukranian=uk    Urdu=ur         Uzbek=uz      Chinese=zh
    

Source: Learn more

Implementation

AlgoliaQuery setQueryLanguages(List<String> value) {
  assert(value.isNotEmpty, 'value can not be empty');
  assert(!_parameters.containsKey('queryLanguages'));
  return _copyWithParameters(<String, dynamic>{'queryLanguages': value});
}