SegmentWriteState (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.index, class: SegmentWriteState

Package org.apache.lucene.index

# Class SegmentWriteState

java.lang.Object
org.apache.lucene.index.SegmentWriteState

public class SegmentWriteState extends Object
Holder class for common parameters used during write.

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `final IOContext`
  `context`
  `IOContext` for all writes; you should pass this to `Directory.createOutput(String,IOContext)`.
  `int`
  `delCountOnFlush`
  Number of deleted documents set while flushing the segment.
  `final Directory`
  `directory`
  `Directory` where this segment will be written to.
  `final FieldInfos`
  `fieldInfos`
  `FieldInfos` describing all fields in this segment.
  `final InfoStream`
  `infoStream`
  `InfoStream` used for debugging messages.
  `FixedBitSet`
  `liveDocs`
  `FixedBitSet` recording live documents; this is only set if there is one or more deleted documents.
  `final SegmentInfo`
  `segmentInfo`
  `SegmentInfo` describing this segment.
  `final String`
  `segmentSuffix`
  Unique suffix for any postings files written for this segment.
  `final org.apache.lucene.index.BufferedUpdates`
  `segUpdates`
  Deletes and updates to apply while we are flushing the segment.
  `int`
  `softDelCountOnFlush`
  Number of only soft deleted documents set while flushing the segment.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SegmentWriteState(SegmentWriteState state, String segmentSuffix)`
  Create a shallow copy of `SegmentWriteState` with a new segment suffix.
  `SegmentWriteState(InfoStream infoStream, Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, org.apache.lucene.index.BufferedUpdates segUpdates, IOContext context)`
  Sole constructor.
  `SegmentWriteState(InfoStream infoStream, Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, org.apache.lucene.index.BufferedUpdates segUpdates, IOContext context, String segmentSuffix)`
  Constructor which takes segment suffix.

- ## Method Summary

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

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

- ## Field Details

  - ### infoStream

    public final InfoStream infoStream
    `InfoStream` used for debugging messages.

  - ### directory

    public final Directory directory
    `Directory` where this segment will be written to.

  - ### segmentInfo

    public final SegmentInfo segmentInfo
    `SegmentInfo` describing this segment.

  - ### fieldInfos

    public final FieldInfos fieldInfos
    `FieldInfos` describing all fields in this segment.

  - ### delCountOnFlush

    public int delCountOnFlush
    Number of deleted documents set while flushing the segment.

  - ### softDelCountOnFlush

    public int softDelCountOnFlush
    Number of only soft deleted documents set while flushing the segment.

  - ### segUpdates

    public final org.apache.lucene.index.BufferedUpdates segUpdates
    Deletes and updates to apply while we are flushing the segment. A Term is enrolled in here if it was deleted/updated at one point, and it's mapped to the docIDUpto, meaning any docID < docIDUpto containing this term should be deleted/updated.

  - ### liveDocs

    public FixedBitSet liveDocs
    `FixedBitSet` recording live documents; this is only set if there is one or more deleted documents.

  - ### segmentSuffix

    public final String segmentSuffix
    Unique suffix for any postings files written for this segment. `PerFieldPostingsFormat` sets this for each of the postings formats it wraps. If you create a new `PostingsFormat` then any files you write/read must be derived using this suffix (use `IndexFileNames.segmentFileName(String,String,String)`).

    Note: the suffix must be either empty, or be a textual suffix contain exactly two parts (separated by underscore), or be a base36 generation.

  - ### context

    public final IOContext context
    `IOContext` for all writes; you should pass this to `Directory.createOutput(String,IOContext)`.

- ## Constructor Details

  - ### SegmentWriteState

    public SegmentWriteState(InfoStream infoStream, Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, org.apache.lucene.index.BufferedUpdates segUpdates, IOContext context)
    Sole constructor.

  - ### SegmentWriteState

    public SegmentWriteState(InfoStream infoStream, Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, org.apache.lucene.index.BufferedUpdates segUpdates, IOContext context, String segmentSuffix)
    Constructor which takes segment suffix.
    See Also:
      - `SegmentWriteState(InfoStream, Directory, SegmentInfo, FieldInfos, BufferedUpdates, IOContext)`

  - ### SegmentWriteState

    public SegmentWriteState(SegmentWriteState state, String segmentSuffix)
    Create a shallow copy of `SegmentWriteState` with a new segment suffix.