Getting Started with Languages

edit

Elasticsearch ships with a collection of language analyzers that provide good, basic, out-of-the-box support for many of the world’s most common languages:

Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Finnish, French, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Kurdish, Norwegian, Persian, Portuguese, Romanian, Russian, Spanish, Swedish, Turkish, and Thai.

These analyzers typically perform four roles:

  • Tokenize text into individual words:

    The quick brown foxes → [The, quick, brown, foxes]

  • Lowercase tokens:

    Thethe

  • Remove common stopwords:

    [The, quick, brown, foxes] → [quick, brown, foxes]

  • Stem tokens to their root form:

    foxesfox

Each analyzer may also apply other transformations specific to its language in order to make words from that language more searchable:

  • The english analyzer removes the possessive 's:

    John'sjohn

  • The french analyzer removes elisions like l' and qu' and diacritics like ¨ or ^:

    l'égliseeglis

  • The german analyzer normalizes terms, replacing ä and ae with a, or ß with ss, among others:

    äußerstausserst