org.apache.lucene.search.suggest

## Class FileDictionary

- java.lang.Object
- - org.apache.lucene.search.suggest.FileDictionary

All Implemented Interfaces:
  Dictionary

    public class FileDictionary
    extends Object
    implements Dictionary

Dictionary represented by a text file.

Format allowed: 1 entry per line:
An entry can be:

- suggestion
- suggestion `fieldDelimiter` weight
- suggestion `fieldDelimiter` weight `fieldDelimiter` payload

where the default `fieldDelimiter` is "\t"

NOTE:

- In order to have payload enabled, the first entry has to have a payload
- If the weight for an entry is not specified then a value of 1 is used
- A payload cannot be specified without having the weight specified for an entry
- If the payload for an entry is not specified (assuming payload is enabled) then an empty payload is returned
- An entry cannot have more than two `fieldDelimiter`

Example:
word1 word2 TAB 100 TAB payload1
word3 TAB 101
word4 word3 TAB 102

### Field Summary

Fields
`static String` `DEFAULT_FIELD_DELIMITER` Tab-delimited fields are most common thus the default, but one can override this via the constructor

### Constructor Summary

Constructors
Constructor and Description
`FileDictionary(InputStream dictFile)` Creates a dictionary based on an inputstream.
`FileDictionary(InputStream dictFile, String fieldDelimiter)` Creates a dictionary based on an inputstream.
`FileDictionary(Reader reader)` Creates a dictionary based on a reader.
`FileDictionary(Reader reader, String fieldDelimiter)` Creates a dictionary based on a reader.

### Method Summary

All Methods Instance Methods Concrete Methods
`InputIterator` `getEntryIterator()` Returns an iterator over all the entries

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

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

### Field Detail

#### DEFAULT_FIELD_DELIMITER

    public static final String DEFAULT_FIELD_DELIMITER

Tab-delimited fields are most common thus the default, but one can override this via the constructor

See Also:
  Constant Field Values

### Constructor Detail

#### FileDictionary

    public FileDictionary(InputStream dictFile)

Creates a dictionary based on an inputstream. Using `DEFAULT_FIELD_DELIMITER` as the field separator in a line.

NOTE: content is treated as UTF-8

#### FileDictionary

    public FileDictionary(Reader reader)

Creates a dictionary based on a reader. Using `DEFAULT_FIELD_DELIMITER` as the field separator in a line.

#### FileDictionary

    public FileDictionary(Reader reader,
                          String fieldDelimiter)

Creates a dictionary based on a reader. Using `fieldDelimiter` to separate out the fields in a line.

#### FileDictionary

    public FileDictionary(InputStream dictFile,
                          String fieldDelimiter)

Creates a dictionary based on an inputstream. Using `fieldDelimiter` to separate out the fields in a line.

NOTE: content is treated as UTF-8

### Method Detail

#### getEntryIterator

    public InputIterator getEntryIterator()

Description copied from interface: `Dictionary`
Returns an iterator over all the entries

Specified by:
  `getEntryIterator` in interface `Dictionary`
Returns:
  Iterator