Class CompletionFieldsConsumer

java.lang.Object
org.apache.lucene.codecs.FieldsConsumer
org.apache.lucene.search.suggest.document.CompletionFieldsConsumer
All Implemented Interfaces:
Closeable, AutoCloseable

final class CompletionFieldsConsumer extends FieldsConsumer
Weighted FSTs for any indexed SuggestField is built on write(Fields,NormsProducer). A weighted FST maps the analyzed forms of a field to its surface form and document id. FSTs are stored in the CompletionDictionary (.lkp).

The file offsets of a field's FST are stored in the CompletionIndex (.cmp) along with the field's internal number FieldInfo.number on close().

  • Field Details

  • Constructor Details

  • Method Details

    • write

      public void write(Fields fields, NormsProducer norms) throws IOException
      Description copied from class: FieldsConsumer
      Write all fields, terms and postings. This the "pull" API, allowing you to iterate more than once over the postings, somewhat analogous to using a DOM API to traverse an XML tree.

      Notes:

      • You must compute index statistics, including each Term's docFreq and totalTermFreq, as well as the summary sumTotalTermFreq, sumTotalDocFreq and docCount.
      • You must skip terms that have no docs and fields that have no terms, even though the provided Fields API will expose them; this typically requires lazily writing the field or term until you've actually seen the first term or document.
      • The provided Fields instance is limited: you cannot call any methods that return statistics/counts; you cannot pass a non-null live docs when pulling docs/positions enums.
      Specified by:
      write in class FieldsConsumer
      Throws:
      IOException
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class FieldsConsumer
      Throws:
      IOException