Package org.apache.lucene.codecs
Class FieldsConsumer
java.lang.Object
org.apache.lucene.codecs.FieldsConsumer
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
Lucene90BlockTreeTermsWriter
Abstract API that consumes terms, doc, freq, prox, offset and payloads postings. Concrete
implementations of this actually do "something" with the postings (write it into the index in a
specific format).
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidclose()voidmerge(MergeState mergeState, NormsProducer norms) Merges in the fields from the readers inmergeState.abstract voidwrite(Fields fields, NormsProducer norms) Write all fields, terms and postings.
-
Constructor Details
-
FieldsConsumer
protected FieldsConsumer()Sole constructor. (For invocation by subclass constructors, typically implicit.)
-
-
Method Details
-
write
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.
- Throws:
IOException
-
merge
Merges in the fields from the readers inmergeState. The default implementation skips and maps around deleted documents, and callswrite(Fields,NormsProducer). Implementations can override this method for more sophisticated merging (bulk-byte copying, etc).- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-