Lucene104PostingsWriter (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.codecs.lucene104, class: Lucene104PostingsWriter

Package org.apache.lucene.codecs.lucene104

# Class Lucene104PostingsWriter

java.lang.Object
org.apache.lucene.codecs.PostingsWriterBase
org.apache.lucene.codecs.PushPostingsWriterBase
org.apache.lucene.codecs.lucene104.Lucene104PostingsWriter

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class Lucene104PostingsWriter extends PushPostingsWriterBase
Writer for `Lucene104PostingsFormat`.

- ## Field Summary

  ### Fields inherited from class org.apache.lucene.codecs.PushPostingsWriterBase

  `fieldInfo, indexOptions, writeFreqs, writeOffsets, writePayloads, writePositions`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Lucene104PostingsWriter(SegmentWriteState state)`
  Sole public constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addPosition(int position, BytesRef payload, int startOffset, int endOffset)`
  Add a new position and payload, and start/end offset.
  `void`
  `close()`
  `void`
  `encodeTerm(DataOutput out, FieldInfo fieldInfo, BlockTermState _state, boolean absolute)`
  Encode metadata as long[] and byte[].
  `void`
  `finishDoc()`
  Called when we are done adding positions and payloads for each doc.
  `void`
  `finishTerm(BlockTermState _state)`
  Called when we are done adding docs to this term
  `void`
  `init(IndexOutput termsOut, SegmentWriteState state)`
  Called once after startup, before any terms have been added.
  `Lucene104PostingsFormat.IntBlockTermState`
  `newTermState()`
  Return a newly created empty TermState
  `void`
  `setField(FieldInfo fieldInfo)`
  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.
  `void`
  `startDoc(int docID, int termDocFreq)`
  Adds a new doc in this term.
  `void`
  `startTerm(NumericDocValues norms)`
  Start a new term.

  ### Methods inherited from class org.apache.lucene.codecs.PushPostingsWriterBase

  `writeTerm`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Lucene104PostingsWriter

    public Lucene104PostingsWriter(SegmentWriteState state) throws IOException
    Sole public constructor.
    Throws:
      `IOException`

- ## Method Details

  - ### newTermState

    public Lucene104PostingsFormat.IntBlockTermState newTermState()
    Description copied from class: `PushPostingsWriterBase`
    Return a newly created empty TermState
    Specified by:
      `newTermState` in class `PushPostingsWriterBase`

  - ### init

    public void init(IndexOutput termsOut, SegmentWriteState state) throws 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:
      `IOException`

  - ### setField

    public void 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`

  - ### startTerm

    public void startTerm(NumericDocValues norms)
    Description copied from class: `PushPostingsWriterBase`
    Start a new term. Note that a matching call to `PushPostingsWriterBase.finishTerm(BlockTermState)` is done, only if the term has at least one document.
    Specified by:
      `startTerm` in class `PushPostingsWriterBase`

  - ### startDoc

    public void startDoc(int docID, int termDocFreq) throws 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:
      `IOException`

  - ### addPosition

    public void addPosition(int position, BytesRef payload, int startOffset, int endOffset) throws 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:
      `IOException`

  - ### finishDoc

    public void finishDoc()
    Description copied from class: `PushPostingsWriterBase`
    Called when we are done adding positions and payloads for each doc.
    Specified by:
      `finishDoc` in class `PushPostingsWriterBase`

  - ### finishTerm

    public void finishTerm(BlockTermState _state) throws IOException
    Called when we are done adding docs to this term
    Specified by:
      `finishTerm` in class `PushPostingsWriterBase`
    Throws:
      `IOException`

  - ### encodeTerm

    public void encodeTerm(DataOutput out, FieldInfo fieldInfo, BlockTermState _state, boolean absolute) throws 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.
    Specified by:
      `encodeTerm` in class `PostingsWriterBase`
    Throws:
      `IOException`

  - ### close

    public void close() throws IOException
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Specified by:
      `close` in class `PostingsWriterBase`
    Throws:
      `IOException`