Class HunspellService

java.lang.Object
org.elasticsearch.indices.analysis.HunspellService

public class HunspellService extends Object
Serves as a node level registry for hunspell dictionaries. This services expects all dictionaries to be located under the <path.conf>/hunspell directory, where each locale has its dedicated sub-directory which holds the dictionary files. For example, the dictionary files for en_US locale must be placed under <path.conf>/hunspell/en_US directory.

The following settings can be set for each dictionary:

  • ignore_case - If true, dictionary matching will be case insensitive (defaults to false)
  • strict_affix_parsing - Determines whether errors while reading a affix rules file will cause exception or simple be ignored (defaults to true)

These settings can either be configured as node level configuration, such as:


     indices.analysis.hunspell.dictionary.en_US.ignore_case: true
     indices.analysis.hunspell.dictionary.en_US.strict_affix_parsing: false
 

or, as dedicated configuration per dictionary, placed in a settings.yml file under the dictionary directory. For example, the following can be the content of the <path.config>/hunspell/en_US/settings.yml file:


     ignore_case: true
     strict_affix_parsing: false
 
See Also:
HunspellTokenFilterFactory
  • Field Details

    • HUNSPELL_LAZY_LOAD

      public static final Setting<Boolean> HUNSPELL_LAZY_LOAD
    • HUNSPELL_IGNORE_CASE

      public static final Setting<Boolean> HUNSPELL_IGNORE_CASE
    • HUNSPELL_DICTIONARY_OPTIONS

      public static final Setting<Settings> HUNSPELL_DICTIONARY_OPTIONS
  • Constructor Details

  • Method Details

    • getDictionary

      public org.apache.lucene.analysis.hunspell.Dictionary getDictionary(String locale)
      Returns the hunspell dictionary for the given locale.
      Parameters:
      locale - The name of the locale