Package org.apache.lucene.analysis.hunspell

## Class Dictionary

- java.lang.Object
- - org.apache.lucene.analysis.hunspell.Dictionary

-     public class Dictionary
      extends Object

  In-memory structure for the dictionary (.dic) and affix (.aff) data of a hunspell dictionary.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Dictionary​(InputStream affix, List<InputStream> dictionaries, boolean ignoreCase, SortingStrategy sortingStrategy)` | Creates a new Dictionary containing the information read from the provided InputStreams to hunspell affix and dictionary files.
    `Dictionary​(Directory tempDir, String tempFileNamePrefix, InputStream affix, InputStream dictionary)` | Creates a new Dictionary containing the information read from the provided InputStreams to hunspell affix and dictionary files.
    `Dictionary​(Directory tempDir, String tempFileNamePrefix, InputStream affix, List<InputStream> dictionaries, boolean ignoreCase)` | Creates a new Dictionary containing the information read from the provided InputStreams to hunspell affix and dictionary files.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `getIgnoreCase()` | Returns true if this dictionary was constructed with the `ignoreCase` option
    `protected double` | `hashFactor()` | The factor determining the size of the internal hash table used for storing the entries.
    `DictEntries` | `lookupEntries​(String root)` |
    `protected boolean` | `tolerateAffixRuleCountMismatches()` | Whether incorrect PFX/SFX rule counts should be silently ignored.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Dictionary

          public Dictionary​(Directory tempDir,
                            String tempFileNamePrefix,
                            InputStream affix,
                            InputStream dictionary)
                     throws IOException,
                            ParseException

      Creates a new Dictionary containing the information read from the provided InputStreams to hunspell affix and dictionary files. You have to close the provided InputStreams yourself.
      Parameters:
        `tempDir` - Directory to use for offline sorting
        `tempFileNamePrefix` - prefix to use to generate temp file names
        `affix` - InputStream for reading the hunspell affix file (won't be closed).
        `dictionary` - InputStream for reading the hunspell dictionary file (won't be closed).
      Throws:
        `IOException` - Can be thrown while reading from the InputStreams
        `ParseException` - Can be thrown if the content of the files does not meet expected formats

    - #### Dictionary

          public Dictionary​(Directory tempDir,
                            String tempFileNamePrefix,
                            InputStream affix,
                            List<InputStream> dictionaries,
                            boolean ignoreCase)
                     throws IOException,
                            ParseException

      Creates a new Dictionary containing the information read from the provided InputStreams to hunspell affix and dictionary files. You have to close the provided InputStreams yourself.
      Parameters:
        `tempDir` - Directory to use for offline sorting
        `tempFileNamePrefix` - prefix to use to generate temp file names
        `affix` - InputStream for reading the hunspell affix file (won't be closed).
        `dictionaries` - InputStream for reading the hunspell dictionary files (won't be closed).
      Throws:
        `IOException` - Can be thrown while reading from the InputStreams
        `ParseException` - Can be thrown if the content of the files does not meet expected formats

    - #### Dictionary

          public Dictionary​(InputStream affix,
                            List<InputStream> dictionaries,
                            boolean ignoreCase,
                            SortingStrategy sortingStrategy)
                     throws IOException,
                            ParseException

      Creates a new Dictionary containing the information read from the provided InputStreams to hunspell affix and dictionary files. You have to close the provided InputStreams yourself.
      Parameters:
        `affix` - InputStream for reading the hunspell affix file (won't be closed).
        `dictionaries` - InputStream for reading the hunspell dictionary files (won't be closed).
        `sortingStrategy` - the entry strategy for the dictionary loading
      Throws:
        `IOException` - Can be thrown while reading from the InputStreams
        `ParseException` - Can be thrown if the content of the files does not meet expected formats

  - ### Method Detail

    - #### lookupEntries

          public DictEntries lookupEntries​(String root)

      Parameters:
        `root` - a string to look up in the dictionary. No case conversion or affix removal is performed. To get the possible roots of any word, you may call `Hunspell.getRoots(String)`
      Returns:
        the dictionary entries for the given root, or `null` if there's none

    - #### hashFactor

          protected double hashFactor()

      The factor determining the size of the internal hash table used for storing the entries. The table size is `entry_count * hashFactor`. The default factor is 1.0. If there are too many hash collisions, the factor can be increased, resulting in faster access, but more memory usage.

    - #### tolerateAffixRuleCountMismatches

          protected boolean tolerateAffixRuleCountMismatches()

      Whether incorrect PFX/SFX rule counts should be silently ignored. False by default: a `ParseException` will happen.

    - #### getIgnoreCase

          public boolean getIgnoreCase()

      Returns true if this dictionary was constructed with the `ignoreCase` option