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

Packages that use SegmentInfos
Package
Description
org.apache.lucene.index
Code to maintain and access indices.

## Uses of SegmentInfos in org.apache.lucene.index

Methods in org.apache.lucene.index that return SegmentInfos
Modifier and Type
Method
Description
`SegmentInfos`
SegmentInfos.`clone()`
Returns a copy of this instance, also copying each SegmentInfo.
`SegmentInfos`
StandardDirectoryReader.`getSegmentInfos()`
Return the `SegmentInfos` for this reader.
`static final SegmentInfos`
SegmentInfos.`readCommit(Directory directory, String segmentFileName)`
Read a particular segmentFileName.
`static final SegmentInfos`
SegmentInfos.`readCommit(Directory directory, ChecksumIndexInput input, long generation)`
Read the commit from the provided `ChecksumIndexInput`.
`static final SegmentInfos`
SegmentInfos.`readLatestCommit(Directory directory)`
Find the latest commit (`segments_N file`) and load all `SegmentCommitInfo`s.
`static final SegmentInfos`
SegmentInfos.`readLatestCommit(Directory directory, int minSupportedMajorVersion)`
Find the latest commit (`segments_N file`) and load all `SegmentCommitInfo`s, as long as the commit's `getIndexCreatedVersionMajor()` is strictly greater than the provided minimum supported major version.
Methods in org.apache.lucene.index with parameters of type SegmentInfos
Modifier and Type
Method
Description
`void`
IndexWriter.`decRefDeleter(SegmentInfos segmentInfos)`
Record that the files referenced by this `SegmentInfos` are no longer in use.
`MergePolicy.MergeSpecification`
FilterMergePolicy.`findForcedDeletesMerges(SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
LogMergePolicy.`findForcedDeletesMerges(SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
Finds merges necessary to force-merge all deletes from the index.
`abstract MergePolicy.MergeSpecification`
MergePolicy.`findForcedDeletesMerges(SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
Determine what set of merge operations is necessary in order to expunge all deletes from the index.
`MergePolicy.MergeSpecification`
NoMergePolicy.`findForcedDeletesMerges(SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
OneMergeWrappingMergePolicy.`findForcedDeletesMerges(SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
TieredMergePolicy.`findForcedDeletesMerges(SegmentInfos infos, MergePolicy.MergeContext mergeContext)`
`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)`
`MergePolicy.MergeSpecification`
FilterMergePolicy.`findFullFlushMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
MergePolicy.`findFullFlushMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
Identifies merges that we want to execute (synchronously) on commit.
`MergePolicy.MergeSpecification`
NoMergePolicy.`findFullFlushMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
OneMergeWrappingMergePolicy.`findFullFlushMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
FilterMergePolicy.`findMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
LogMergePolicy.`findMerges(MergeTrigger mergeTrigger, SegmentInfos infos, MergePolicy.MergeContext mergeContext)`
Checks if any merges are now necessary and returns a `MergePolicy.MergeSpecification` if so.
`abstract MergePolicy.MergeSpecification`
MergePolicy.`findMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
Determine what set of merge operations are now necessary on the index.
`MergePolicy.MergeSpecification`
NoMergePolicy.`findMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
OneMergeWrappingMergePolicy.`findMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
TieredMergePolicy.`findMerges(MergeTrigger mergeTrigger, SegmentInfos infos, MergePolicy.MergeContext mergeContext)`
`MergePolicy.MergeSpecification`
UpgradeIndexMergePolicy.`findMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)`
`void`
IndexWriter.`incRefDeleter(SegmentInfos segmentInfos)`
Record that the files referenced by this `SegmentInfos` are still in use.
`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 final 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
`static DirectoryReader`
StandardDirectoryReader.`open(Directory directory, SegmentInfos infos, List<? extends LeafReader> oldReaders, Comparator<LeafReader> leafSorter)`
This constructor is only used for `StandardDirectoryReader.doOpenIfChanged(SegmentInfos)`, as well as NRT replication.
`void`
SegmentInfos.`updateGeneration(SegmentInfos other)`
Carry over generation numbers from another SegmentInfos
`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)`