Class Lucene84PostingsWriter

    • Field Detail

      • docStartFP

        private long docStartFP
      • posStartFP

        private long posStartFP
      • payStartFP

        private long payStartFP
      • docDeltaBuffer

        final long[] docDeltaBuffer
      • freqBuffer

        final long[] freqBuffer
      • docBufferUpto

        private int docBufferUpto
      • posDeltaBuffer

        final long[] posDeltaBuffer
      • payloadLengthBuffer

        final long[] payloadLengthBuffer
      • offsetStartDeltaBuffer

        final long[] offsetStartDeltaBuffer
      • offsetLengthBuffer

        final long[] offsetLengthBuffer
      • posBufferUpto

        private int posBufferUpto
      • payloadBytes

        private byte[] payloadBytes
      • payloadByteUpto

        private int payloadByteUpto
      • lastBlockDocID

        private int lastBlockDocID
      • lastBlockPosFP

        private long lastBlockPosFP
      • lastBlockPayFP

        private long lastBlockPayFP
      • lastBlockPosBufferUpto

        private int lastBlockPosBufferUpto
      • lastBlockPayloadByteUpto

        private int lastBlockPayloadByteUpto
      • lastDocID

        private int lastDocID
      • lastPosition

        private int lastPosition
      • lastStartOffset

        private int lastStartOffset
      • docCount

        private int docCount
      • pforUtil

        private final PForUtil pforUtil
      • fieldHasNorms

        private boolean fieldHasNorms
    • Constructor Detail

      • Lucene84PostingsWriter

        public Lucene84PostingsWriter​(SegmentWriteState state)
                               throws java.io.IOException
        Creates a postings writer
        Throws:
        java.io.IOException
    • 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