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

  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.
  `protected boolean`
  `tolerateDuplicateConversionMappings()`
  Whether duplicate ICONV/OCONV lines should be silently ignored.
  `protected boolean`
  `tolerateRepRuleCountMismatches()`
  Whether incorrect REP rule counts will be silently ignored.

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

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

- ## Constructor Details

  - ### 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 Details

  - ### 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.

  - ### tolerateRepRuleCountMismatches

    protected boolean tolerateRepRuleCountMismatches()
    Whether incorrect REP rule counts will be silently ignored. False by default: a `ParseException` will happen.

  - ### tolerateDuplicateConversionMappings

    protected boolean tolerateDuplicateConversionMappings()
    Whether duplicate ICONV/OCONV lines should be silently ignored. False by default: an `IllegalStateException` will happen.

  - ### getIgnoreCase

    public boolean getIgnoreCase()
    Returns true if this dictionary was constructed with the `ignoreCase` option