## Uses of Class
org.apache.lucene.index.SegmentCommitInfo

- Packages that use SegmentCommitInfo
  Package | Description
  --- | ---
  org.apache.lucene.codecs | Codecs API: API for customization of the encoding and structure of the index.
  org.apache.lucene.codecs.lucene90 | Lucene 9.0 file format.
  org.apache.lucene.index | Code to maintain and access indices.
  org.apache.lucene.internal.tests | Internal bridges to package-private internals, for use by the lucene test framework only.

- - ### Uses of SegmentCommitInfo in org.apache.lucene.codecs

    Methods in org.apache.lucene.codecs with parameters of type SegmentCommitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract void` | LiveDocsFormat.`files​(SegmentCommitInfo info, Collection<String> files)` | Records all files in use by this `SegmentCommitInfo` into the files argument.
    `abstract Bits` | LiveDocsFormat.`readLiveDocs​(Directory dir, SegmentCommitInfo info, IOContext context)` | Read live docs bits.
    `abstract void` | LiveDocsFormat.`writeLiveDocs​(Bits bits, Directory dir, SegmentCommitInfo info, int newDelCount, IOContext context)` | Persist live docs bits.

  - ### Uses of SegmentCommitInfo in org.apache.lucene.codecs.lucene90

    Methods in org.apache.lucene.codecs.lucene90 with parameters of type SegmentCommitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Lucene90LiveDocsFormat.`files​(SegmentCommitInfo info, Collection<String> files)` |
    `Bits` | Lucene90LiveDocsFormat.`readLiveDocs​(Directory dir, SegmentCommitInfo info, IOContext context)` |
    `void` | Lucene90LiveDocsFormat.`writeLiveDocs​(Bits bits, Directory dir, SegmentCommitInfo info, int newDelCount, IOContext context)` |

  - ### Uses of SegmentCommitInfo in org.apache.lucene.index

    Fields in org.apache.lucene.index with type parameters of type SegmentCommitInfo
    Modifier and Type | Field | Description
    --- | --- | ---
    `List<SegmentCommitInfo>` | MergePolicy.OneMerge.`segments` | Segments to be merged.

    Methods in org.apache.lucene.index that return SegmentCommitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `SegmentCommitInfo` | SegmentCommitInfo.`clone()` |
    `SegmentCommitInfo` | MergePolicy.OneMerge.`getMergeInfo()` | Returns the `SegmentCommitInfo` for the merged segment, or null if it hasn't been set yet.
    `SegmentCommitInfo` | SegmentReader.`getSegmentInfo()` | Return the SegmentInfoPerCommit of the segment this reader is reading.
    `SegmentCommitInfo` | SegmentInfos.`info​(int i)` | Returns `SegmentCommitInfo` at the provided index.

    Methods in org.apache.lucene.index that return types with arguments of type SegmentCommitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<SegmentCommitInfo>` | SegmentInfos.`asList()` | Returns all contained segments as an unmodifiable `List` view.
    `Set<SegmentCommitInfo>` | IndexWriter.`getMergingSegments()` | Expert: to be used by a `MergePolicy` to avoid selecting merges for segments already being merged.
    `Set<SegmentCommitInfo>` | MergePolicy.MergeContext.`getMergingSegments()` | Returns an unmodifiable set of segments that are currently merging.
    `Iterator<SegmentCommitInfo>` | SegmentInfos.`iterator()` | Returns an unmodifiable `Iterator` of contained segments in order.

    Methods in org.apache.lucene.index with parameters of type SegmentCommitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | SegmentInfos.`add​(SegmentCommitInfo si)` | Appends the provided `SegmentCommitInfo`.
    `protected boolean` | MergePolicy.`assertDelCount​(int delCount, SegmentCommitInfo info)` | Asserts that the delCount for this SegmentCommitInfo is valid
    `protected boolean` | MergePolicy.`isMerged​(SegmentInfos infos, SegmentCommitInfo info, MergePolicy.MergeContext mergeContext)` | Returns true if this single info is already fully merged (has no pending deletes, is in the same dir as the writer, and matches the current compound file setting
    `int` | IndexWriter.`numDeletedDocs​(SegmentCommitInfo info)` | Obtain the number of deleted docs for a pooled reader.
    `int` | MergePolicy.MergeContext.`numDeletedDocs​(SegmentCommitInfo info)` | Returns the number of deleted documents in the given segments.
    `int` | FilterMergePolicy.`numDeletesToMerge​(SegmentCommitInfo info, int delCount, IOSupplier<CodecReader> readerSupplier)` |
    `int` | IndexWriter.`numDeletesToMerge​(SegmentCommitInfo info)` | Returns the number of deletes a merge would claim back if the given segment is merged.
    `int` | MergePolicy.MergeContext.`numDeletesToMerge​(SegmentCommitInfo info)` | Returns the number of deletes a merge would claim back if the given segment is merged.
    `int` | MergePolicy.`numDeletesToMerge​(SegmentCommitInfo info, int delCount, IOSupplier<CodecReader> readerSupplier)` | Returns the number of deletes that a merge would claim on the given segment.
    `int` | NoMergePolicy.`numDeletesToMerge​(SegmentCommitInfo info, int delCount, IOSupplier<CodecReader> readerSupplier)` |
    `int` | SoftDeletesRetentionMergePolicy.`numDeletesToMerge​(SegmentCommitInfo info, int delCount, IOSupplier<CodecReader> readerSupplier)` |
    `boolean` | SegmentInfos.`remove​(SegmentCommitInfo si)` | Remove the provided `SegmentCommitInfo`.
    `void` | MergePolicy.OneMerge.`setMergeInfo​(SegmentCommitInfo info)` | Expert: Sets the `SegmentCommitInfo` of the merged segment.
    `protected boolean` | UpgradeIndexMergePolicy.`shouldUpgradeSegment​(SegmentCommitInfo si)` | Returns if the given segment should be upgraded.
    `protected long` | FilterMergePolicy.`size​(SegmentCommitInfo info, MergePolicy.MergeContext context)` |
    `protected long` | LogByteSizeMergePolicy.`size​(SegmentCommitInfo info, MergePolicy.MergeContext mergeContext)` |
    `protected long` | LogDocMergePolicy.`size​(SegmentCommitInfo info, MergePolicy.MergeContext mergeContext)` |
    `protected long` | MergePolicy.`size​(SegmentCommitInfo info, MergePolicy.MergeContext mergeContext)` | Return the byte size of the provided `SegmentCommitInfo`, pro-rated by percentage of non-deleted documents is set.
    `protected long` | NoMergePolicy.`size​(SegmentCommitInfo info, MergePolicy.MergeContext context)` |
    `protected long` | LogMergePolicy.`sizeBytes​(SegmentCommitInfo info, MergePolicy.MergeContext mergeContext)` | Return the byte size of the provided `SegmentCommitInfo`, pro-rated by percentage of non-deleted documents if `LogMergePolicy.setCalibrateSizeByDeletes(boolean)` is set.
    `protected long` | LogMergePolicy.`sizeDocs​(SegmentCommitInfo info, MergePolicy.MergeContext mergeContext)` | Return the number of documents in the provided `SegmentCommitInfo`, pro-rated by percentage of non-deleted documents if `LogMergePolicy.setCalibrateSizeByDeletes(boolean)` is set.
    `boolean` | FilterMergePolicy.`useCompoundFile​(SegmentInfos infos, SegmentCommitInfo mergedInfo, MergePolicy.MergeContext mergeContext)` |
    `boolean` | MergePolicy.`useCompoundFile​(SegmentInfos infos, SegmentCommitInfo mergedInfo, MergePolicy.MergeContext mergeContext)` | Returns true if a new segment (regardless of its origin) should use the compound file format.
    `boolean` | NoMergePolicy.`useCompoundFile​(SegmentInfos segments, SegmentCommitInfo newSegment, MergePolicy.MergeContext mergeContext)` |

    Method parameters in org.apache.lucene.index with type arguments of type SegmentCommitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | SegmentInfos.`addAll​(Iterable<SegmentCommitInfo> sis)` | Appends the provided `SegmentCommitInfo`s.
    `MergePolicy.MergeSpecification` | FilterMergePolicy.`findForcedMerges​(SegmentInfos segmentInfos, int maxSegmentCount, Map<SegmentCommitInfo,​Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext)` |
    `MergePolicy.MergeSpecification` | LogMergePolicy.`findForcedMerges​(SegmentInfos infos, int maxNumSegments, Map<SegmentCommitInfo,​Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext)` | Returns the merges necessary to merge the index down to a specified number of segments.
    `abstract MergePolicy.MergeSpecification` | MergePolicy.`findForcedMerges​(SegmentInfos segmentInfos, int maxSegmentCount, Map<SegmentCommitInfo,​Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext)` | Determine what set of merge operations is necessary in order to merge to `<=` the specified segment count.
    `MergePolicy.MergeSpecification` | NoMergePolicy.`findForcedMerges​(SegmentInfos segmentInfos, int maxSegmentCount, Map<SegmentCommitInfo,​Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext)` |
    `MergePolicy.MergeSpecification` | OneMergeWrappingMergePolicy.`findForcedMerges​(SegmentInfos segmentInfos, int maxSegmentCount, Map<SegmentCommitInfo,​Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext)` |
    `MergePolicy.MergeSpecification` | TieredMergePolicy.`findForcedMerges​(SegmentInfos infos, int maxSegmentCount, Map<SegmentCommitInfo,​Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext)` |
    `MergePolicy.MergeSpecification` | UpgradeIndexMergePolicy.`findForcedMerges​(SegmentInfos segmentInfos, int maxSegmentCount, Map<SegmentCommitInfo,​Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext)` |
    `protected boolean` | LogMergePolicy.`isMerged​(SegmentInfos infos, int maxNumSegments, Map<SegmentCommitInfo,​Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext)` | Returns true if the number of segments eligible for merging is less than or equal to the specified `maxNumSegments`.
    `protected TieredMergePolicy.MergeScore` | TieredMergePolicy.`score​(List<SegmentCommitInfo> candidate, boolean hitTooLarge, Map<SegmentCommitInfo,​org.apache.lucene.index.TieredMergePolicy.SegmentSizeAndDocs> segmentsSizes)` | Expert: scores one merge; subclasses can override.
    `protected TieredMergePolicy.MergeScore` | TieredMergePolicy.`score​(List<SegmentCommitInfo> candidate, boolean hitTooLarge, Map<SegmentCommitInfo,​org.apache.lucene.index.TieredMergePolicy.SegmentSizeAndDocs> segmentsSizes)` | Expert: scores one merge; subclasses can override.
    `protected String` | MergePolicy.`segString​(MergePolicy.MergeContext mergeContext, Iterable<SegmentCommitInfo> infos)` | Builds a String representation of the given SegmentCommitInfo instances

    Constructor parameters in org.apache.lucene.index with type arguments of type SegmentCommitInfo
    Constructor | Description
    --- | ---
    `OneMerge​(List<SegmentCommitInfo> segments)` | Sole constructor.

  - ### Uses of SegmentCommitInfo in org.apache.lucene.internal.tests

    Methods in org.apache.lucene.internal.tests that return SegmentCommitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `SegmentCommitInfo` | IndexWriterAccess.`newestSegment​(IndexWriter iw)` |