Package org.apache.lucene.codecs
Class PostingsConsumer
- java.lang.Object
-
- org.apache.lucene.codecs.PostingsConsumer
-
- Direct Known Subclasses:
PostingsWriterBase
public abstract class PostingsConsumer extends Object
Abstract API that consumes postings for an individual term.The lifecycle is:
- PostingsConsumer is returned for each term by
TermsConsumer.startTerm(BytesRef)
. startDoc(int, int)
is called for each document where the term occurs, specifying id and term frequency for that document.- If positions are enabled for the field, then
addPosition(int, BytesRef, int, int)
will be called for each occurrence in the document. finishDoc()
is called when the producer is done adding positions to the document.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PostingsConsumer()
Sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
addPosition(int position, BytesRef payload, int startOffset, int endOffset)
Add a new position & payload, and start/end offset.abstract void
finishDoc()
Called when we are done adding positions & payloads for each doc.TermStats
merge(MergeState mergeState, FieldInfo.IndexOptions indexOptions, DocsEnum postings, FixedBitSet visitedDocs)
Default merge impl: append documents, mapping around deletesabstract void
startDoc(int docID, int freq)
Adds a new doc in this term.
-
-
-
Method Detail
-
startDoc
public abstract void startDoc(int docID, int freq) throws IOException
Adds a new doc in this term.freq
will be -1 when term frequencies are omitted for the field.- Throws:
IOException
-
addPosition
public abstract void addPosition(int position, BytesRef payload, int startOffset, int endOffset) throws IOException
Add a new position & payload, and start/end offset. A null payload means no payload; a non-null payload with zero length also means no payload. Caller may reuse theBytesRef
for the payload between calls (method must fully consume the payload).startOffset
andendOffset
will be -1 when offsets are not indexed.- Throws:
IOException
-
finishDoc
public abstract void finishDoc() throws IOException
Called when we are done adding positions & payloads for each doc.- Throws:
IOException
-
merge
public TermStats merge(MergeState mergeState, FieldInfo.IndexOptions indexOptions, DocsEnum postings, FixedBitSet visitedDocs) throws IOException
Default merge impl: append documents, mapping around deletes- Throws:
IOException
-
-