Package org.apache.lucene.index
Class OneMergeWrappingMergePolicy
- java.lang.Object
-
- org.apache.lucene.index.MergePolicy
-
- org.apache.lucene.index.FilterMergePolicy
-
- org.apache.lucene.index.OneMergeWrappingMergePolicy
-
- Direct Known Subclasses:
SoftDeletesRetentionMergePolicy
public class OneMergeWrappingMergePolicy extends FilterMergePolicy
A wrapping merge policy that wraps theMergePolicy.OneMergeobjects returned by the wrapped merge policy.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.index.MergePolicy
MergePolicy.MergeAbortedException, MergePolicy.MergeContext, MergePolicy.MergeException, MergePolicy.MergeSpecification, MergePolicy.OneMerge, MergePolicy.OneMergeProgress
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.index.FilterMergePolicy
in
-
Fields inherited from class org.apache.lucene.index.MergePolicy
DEFAULT_MAX_CFS_SEGMENT_SIZE, DEFAULT_NO_CFS_RATIO, maxCFSSegmentSize, noCFSRatio
-
-
Constructor Summary
Constructors Constructor Description OneMergeWrappingMergePolicy(MergePolicy in, UnaryOperator<MergePolicy.OneMerge> wrapOneMerge)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MergePolicy.MergeSpecificationfindForcedDeletesMerges(SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)Determine what set of merge operations is necessary in order to expunge all deletes from the index.MergePolicy.MergeSpecificationfindForcedMerges(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.MergeSpecificationfindMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext)Determine what set of merge operations are now necessary on the index.-
Methods inherited from class org.apache.lucene.index.FilterMergePolicy
getMaxCFSSegmentSizeMB, getNoCFSRatio, keepFullyDeletedSegment, numDeletesToMerge, setMaxCFSSegmentSizeMB, setNoCFSRatio, size, toString, useCompoundFile
-
Methods inherited from class org.apache.lucene.index.MergePolicy
assertDelCount, isMerged, message, segString, verbose
-
-
-
-
Constructor Detail
-
OneMergeWrappingMergePolicy
public OneMergeWrappingMergePolicy(MergePolicy in, UnaryOperator<MergePolicy.OneMerge> wrapOneMerge)
Constructor- Parameters:
in- - the wrapped merge policywrapOneMerge- - operator for wrapping OneMerge objects
-
-
Method Detail
-
findMerges
public MergePolicy.MergeSpecification findMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext) throws IOException
Description copied from class:MergePolicyDetermine what set of merge operations are now necessary on the index.IndexWritercalls this whenever there is a change to the segments. This call is always synchronized on theIndexWriterinstance so only one thread at a time will call this method.- Overrides:
findMergesin classFilterMergePolicy- Parameters:
mergeTrigger- the event that triggered the mergesegmentInfos- the total set of segments in the indexmergeContext- the IndexWriter to find the merges on- Throws:
IOException
-
findForcedMerges
public MergePolicy.MergeSpecification findForcedMerges(SegmentInfos segmentInfos, int maxSegmentCount, Map<SegmentCommitInfo,Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext) throws IOException
Description copied from class:MergePolicyDetermine what set of merge operations is necessary in order to merge to<=the specified segment count.IndexWritercalls this when itsIndexWriter.forceMerge(int)method is called. This call is always synchronized on theIndexWriterinstance so only one thread at a time will call this method.- Overrides:
findForcedMergesin classFilterMergePolicy- Parameters:
segmentInfos- the total set of segments in the indexmaxSegmentCount- requested maximum number of segments in the index (currently this is always 1)segmentsToMerge- contains the specific SegmentInfo instances that must be merged away. This may be a subset of all SegmentInfos. If the value is True for a given SegmentInfo, that means this segment was an original segment present in the to-be-merged index; else, it was a segment produced by a cascaded merge.mergeContext- the IndexWriter to find the merges on- Throws:
IOException
-
findForcedDeletesMerges
public MergePolicy.MergeSpecification findForcedDeletesMerges(SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext) throws IOException
Description copied from class:MergePolicyDetermine what set of merge operations is necessary in order to expunge all deletes from the index.- Overrides:
findForcedDeletesMergesin classFilterMergePolicy- Parameters:
segmentInfos- the total set of segments in the indexmergeContext- the IndexWriter to find the merges on- Throws:
IOException
-
-