Class PerFieldPostingsFormat.FieldsWriter

java.lang.Object
org.apache.lucene.codecs.FieldsConsumer
org.apache.lucene.codecs.perfield.PerFieldPostingsFormat.FieldsWriter
All Implemented Interfaces:
Closeable, AutoCloseable
Enclosing class:
PerFieldPostingsFormat

private class PerFieldPostingsFormat.FieldsWriter extends FieldsConsumer
  • 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
    • merge

      public void merge(MergeState mergeState, NormsProducer norms) throws IOException
      Description copied from class: FieldsConsumer
      Merges in the fields from the readers in mergeState. The default implementation skips and maps around deleted documents, and calls FieldsConsumer.write(Fields,NormsProducer). Implementations can override this method for more sophisticated merging (bulk-byte copying, etc).
      Overrides:
      merge in class FieldsConsumer
      Throws:
      IOException
    • buildFieldsGroupMapping

      private Map<PostingsFormat,PerFieldPostingsFormat.FieldsGroup> buildFieldsGroupMapping(Iterable<String> indexedFieldNames)
    • 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