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 and Description
    --- | ---
    `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.
    `Directory` | `directory` `Directory` where this segment will be written to.
    `FieldInfos` | `fieldInfos` `FieldInfos` describing all fields in this segment.
    `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.
    `SegmentInfo` | `segmentInfo` `SegmentInfo` describing this segment.
    `String` | `segmentSuffix` Unique suffix for any postings files written for this segment.
    `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 and Description
    `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.
    `SegmentWriteState(SegmentWriteState state, String segmentSuffix)` Create a shallow copy of `SegmentWriteState` with a new segment suffix.

  - ### Method Summary

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

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

- - ### Field Detail

    - #### 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 Detail

    - #### 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.

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.