# 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, String segmentFileName, int minSupportedMajorVersion)`
  Read a particular segmentFileName, as long as the commit's `getIndexCreatedVersionMajor()` is strictly greater than the provided minimum supported major version.
  `static final SegmentInfos`
  SegmentInfos.`readCommit(Directory directory, ChecksumIndexInput input, long generation)`
  Read the commit from the provided `ChecksumIndexInput`.
  `static final SegmentInfos`
  SegmentInfos.`readCommit(Directory directory, ChecksumIndexInput input, long generation, int minSupportedMajorVersion)`
  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)`