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.

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

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