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.