Package 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
Modifier and Type
Field
Description
`static final 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
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

Modifier and Type
Method
Description
`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 Details

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

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

### getEntryIterator

public InputIterator getEntryIterator()
Description copied from interface: `Dictionary`
Returns an iterator over all the entries

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