Package org.apache.lucene.search.suggest
Class FileDictionary
java.lang.Object
org.apache.lucene.search.suggest.FileDictionary
- All Implemented Interfaces:
Dictionary
Dictionary represented by a text file.
Format allowed: 1 entry per line:
An entry can be:
- suggestion
- suggestion
fieldDelimiter
weight - suggestion
fieldDelimiter
weightfieldDelimiter
payload
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
Modifier and TypeFieldDescriptionstatic final String
Tab-delimited fields are most common thus the default, but one can override this via the constructor -
Constructor Summary
ConstructorDescriptionFileDictionary
(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 TypeMethodDescriptionReturns an iterator over all the entries
-
Field Details
-
DEFAULT_FIELD_DELIMITER
Tab-delimited fields are most common thus the default, but one can override this via the constructor- See Also:
-
-
Constructor Details
-
FileDictionary
Creates a dictionary based on an inputstream. UsingDEFAULT_FIELD_DELIMITER
as the field separator in a line.NOTE: content is treated as UTF-8
-
FileDictionary
Creates a dictionary based on a reader. UsingDEFAULT_FIELD_DELIMITER
as the field separator in a line. -
FileDictionary
Creates a dictionary based on a reader. UsingfieldDelimiter
to separate out the fields in a line. -
FileDictionary
Creates a dictionary based on an inputstream. UsingfieldDelimiter
to separate out the fields in a line.NOTE: content is treated as UTF-8
-
-
Method Details
-
getEntryIterator
Description copied from interface:Dictionary
Returns an iterator over all the entries- Specified by:
getEntryIterator
in interfaceDictionary
- Returns:
- Iterator
-