public class OneMergeWrappingMergePolicy extends FilterMergePolicy
MergePolicy.OneMerge
objects returned by the wrapped merge policy.MergePolicy.MergeAbortedException, MergePolicy.MergeContext, MergePolicy.MergeException, MergePolicy.MergeSpecification, MergePolicy.OneMerge, MergePolicy.OneMergeProgress
in
DEFAULT_MAX_CFS_SEGMENT_SIZE, DEFAULT_NO_CFS_RATIO, maxCFSSegmentSize, noCFSRatio
Constructor and Description |
---|
OneMergeWrappingMergePolicy(MergePolicy in,
UnaryOperator<MergePolicy.OneMerge> wrapOneMerge)
Constructor
|
Modifier and Type | Method and Description |
---|---|
MergePolicy.MergeSpecification |
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 |
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 |
findMerges(MergeTrigger mergeTrigger,
SegmentInfos segmentInfos,
MergePolicy.MergeContext mergeContext)
Determine what set of merge operations are now necessary on the index.
|
getMaxCFSSegmentSizeMB, getNoCFSRatio, keepFullyDeletedSegment, numDeletesToMerge, setMaxCFSSegmentSizeMB, setNoCFSRatio, size, toString, useCompoundFile
assertDelCount, isMerged, message, segString, verbose
public OneMergeWrappingMergePolicy(MergePolicy in, UnaryOperator<MergePolicy.OneMerge> wrapOneMerge)
in
- - the wrapped merge policywrapOneMerge
- - operator for wrapping OneMerge objectspublic MergePolicy.MergeSpecification findMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext) throws IOException
MergePolicy
IndexWriter
calls this whenever there is a change to the segments.
This call is always synchronized on the IndexWriter
instance so
only one thread at a time will call this method.findMerges
in class FilterMergePolicy
mergeTrigger
- the event that triggered the mergesegmentInfos
- the total set of segments in the indexmergeContext
- the IndexWriter to find the merges onIOException
public MergePolicy.MergeSpecification findForcedMerges(SegmentInfos segmentInfos, int maxSegmentCount, Map<SegmentCommitInfo,Boolean> segmentsToMerge, MergePolicy.MergeContext mergeContext) throws IOException
MergePolicy
<=
the specified segment count. IndexWriter
calls this when its
IndexWriter.forceMerge(int)
method is called. This call is always
synchronized on the IndexWriter
instance so only one thread at a
time will call this method.findForcedMerges
in class FilterMergePolicy
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 onIOException
public MergePolicy.MergeSpecification findForcedDeletesMerges(SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext) throws IOException
MergePolicy
findForcedDeletesMerges
in class FilterMergePolicy
segmentInfos
- the total set of segments in the indexmergeContext
- the IndexWriter to find the merges onIOException
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.