Package org.apache.lucene.sandbox.index
Class MergeOnFlushMergePolicy
java.lang.Object
org.apache.lucene.index.MergePolicy
org.apache.lucene.index.FilterMergePolicy
org.apache.lucene.sandbox.index.MergeOnFlushMergePolicy
- All Implemented Interfaces:
Unwrappable<MergePolicy>
A simple extension to wrap
MergePolicy
to merge all tiny segments (or at least segments
smaller than specified in setSmallSegmentThresholdMB(double)
into one segment on commit.-
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
ConstructorDescriptionMergeOnFlushMergePolicy
(MergePolicy mergePolicy) Creates a MergeOnFlushMergePolicy merge policy instance wrapping another. -
Method Summary
Modifier and TypeMethodDescriptionfindFullFlushMerges
(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext) double
void
setSmallSegmentThresholdMB
(double smallSegmentThresholdMB) Methods inherited from class org.apache.lucene.index.FilterMergePolicy
findForcedDeletesMerges, findForcedMerges, findMerges, getMaxCFSSegmentSizeMB, getNoCFSRatio, keepFullyDeletedSegment, numDeletesToMerge, setMaxCFSSegmentSizeMB, setNoCFSRatio, size, toString, unwrap, useCompoundFile
Methods inherited from class org.apache.lucene.index.MergePolicy
assertDelCount, isMerged, message, segString, verbose
-
Constructor Details
-
MergeOnFlushMergePolicy
Creates a MergeOnFlushMergePolicy merge policy instance wrapping another.- Parameters:
mergePolicy
- the wrappedMergePolicy
-
-
Method Details
-
getSmallSegmentThresholdMB
public double getSmallSegmentThresholdMB() -
setSmallSegmentThresholdMB
public void setSmallSegmentThresholdMB(double smallSegmentThresholdMB) - Parameters:
smallSegmentThresholdMB
- all segments smaller than this will be merged into a single segment before commit completes.
-
findFullFlushMerges
public MergePolicy.MergeSpecification findFullFlushMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos, MergePolicy.MergeContext mergeContext) throws IOException - Overrides:
findFullFlushMerges
in classFilterMergePolicy
- Throws:
IOException
-