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 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:
  • 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