Class IDVersionPostingsWriter

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    final class IDVersionPostingsWriter
    extends PushPostingsWriterBase
    • Field Detail

      • lastDocID

        int lastDocID
      • lastPosition

        private int lastPosition
      • lastVersion

        private long lastVersion
      • liveDocs

        private final Bits liveDocs
      • segment

        private java.lang.String segment
      • lastEncodedVersion

        private long lastEncodedVersion
    • Constructor Detail

      • IDVersionPostingsWriter

        public IDVersionPostingsWriter​(Bits liveDocs)
    • Method Detail

      • init

        public void init​(IndexOutput termsOut,
                         SegmentWriteState state)
                  throws java.io.IOException
        Description copied from class: PostingsWriterBase
        Called once after startup, before any terms have been added. Implementations typically write a header to the provided termsOut.
        Specified by:
        init in class PostingsWriterBase
        Throws:
        java.io.IOException
      • setField

        public int setField​(FieldInfo fieldInfo)
        Description copied from class: PushPostingsWriterBase
        Sets the current field for writing, and returns the fixed length of long[] metadata (which is fixed per field), called when the writing switches to another field.
        Overrides:
        setField in class PushPostingsWriterBase
      • startDoc

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

        public void addPosition​(int position,
                                BytesRef payload,
                                int startOffset,
                                int endOffset)
                         throws java.io.IOException
        Description copied from class: PushPostingsWriterBase
        Add a new position and 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.
        Specified by:
        addPosition in class PushPostingsWriterBase
        Throws:
        java.io.IOException
      • finishDoc

        public void finishDoc()
                       throws java.io.IOException
        Description copied from class: PushPostingsWriterBase
        Called when we are done adding positions and payloads for each doc.
        Specified by:
        finishDoc in class PushPostingsWriterBase
        Throws:
        java.io.IOException
      • encodeTerm

        public void encodeTerm​(long[] longs,
                               DataOutput out,
                               FieldInfo fieldInfo,
                               BlockTermState _state,
                               boolean absolute)
                        throws java.io.IOException
        Description copied from class: PostingsWriterBase
        Encode metadata as long[] and byte[]. absolute controls whether current term is delta encoded according to latest term. Usually elements in longs are file pointers, so each one always increases when a new term is consumed. out is used to write generic bytes, which are not monotonic. NOTE: sometimes long[] might contain "don't care" values that are unused, e.g. the pointer to postings list may not be defined for some terms but is defined for others, if it is designed to inline some postings data in term dictionary. In this case, the postings writer should always use the last value, so that each element in metadata long[] remains monotonic.
        Specified by:
        encodeTerm in class PostingsWriterBase
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class PostingsWriterBase
        Throws:
        java.io.IOException