Class PostingsConsumer

  • Direct Known Subclasses:
    PostingsWriterBase

    public abstract class PostingsConsumer
    extends java.lang.Object
    Abstract API that consumes postings for an individual term.

    The lifecycle is:

    1. PostingsConsumer is returned for each term by TermsConsumer.startTerm(BytesRef).
    2. startDoc(int, int) is called for each document where the term occurs, specifying id and term frequency for that document.
    3. If positions are enabled for the field, then addPosition(int, BytesRef, int, int) will be called for each occurrence in the document.
    4. finishDoc() is called when the producer is done adding positions to the document.
    • Method Detail

      • startDoc

        public abstract void startDoc​(int docID,
                                      int freq)
                               throws java.io.IOException
        Adds a new doc in this term. freq will be -1 when term frequencies are omitted for the field.
        Throws:
        java.io.IOException
      • addPosition

        public abstract void addPosition​(int position,
                                         BytesRef payload,
                                         int startOffset,
                                         int endOffset)
                                  throws java.io.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 the BytesRef for the payload between calls (method must fully consume the payload). startOffset and endOffset will be -1 when offsets are not indexed.
        Throws:
        java.io.IOException
      • finishDoc

        public abstract void finishDoc()
                                throws java.io.IOException
        Called when we are done adding positions & payloads for each doc.
        Throws:
        java.io.IOException