org.apache.lucene.index
Class BalancedSegmentMergePolicy
java.lang.Object
org.apache.lucene.index.MergePolicy
org.apache.lucene.index.LogMergePolicy
org.apache.lucene.index.LogByteSizeMergePolicy
org.apache.lucene.index.BalancedSegmentMergePolicy
- All Implemented Interfaces:
- Closeable, Cloneable
public class BalancedSegmentMergePolicy
- extends LogByteSizeMergePolicy
Merge policy that tries to balance not doing large
segment merges with not accumulating too many segments in
the index, to provide for better performance in near
real-time setting.
This is based on code from zoie, described in more detail
at http://code.google.com/p/zoie/wiki/ZoieMergePolicy.
Fields inherited from class org.apache.lucene.index.LogMergePolicy |
calibrateSizeByDeletes, DEFAULT_MAX_MERGE_DOCS, DEFAULT_MERGE_FACTOR, DEFAULT_NO_CFS_RATIO, LEVEL_LOG_SPAN, maxMergeDocs, maxMergeSize, maxMergeSizeForForcedMerge, mergeFactor, minMergeSize, noCFSRatio, useCompoundFile |
Methods inherited from class org.apache.lucene.index.LogMergePolicy |
close, getCalibrateSizeByDeletes, getMaxMergeDocs, getMergeFactor, getNoCFSRatio, getUseCompoundFile, isMerged, isMerged, message, setCalibrateSizeByDeletes, setMaxMergeDocs, setNoCFSRatio, setUseCompoundFile, sizeBytes, sizeDocs, toString, useCompoundFile, verbose |
DEFAULT_NUM_LARGE_SEGMENTS
public static final int DEFAULT_NUM_LARGE_SEGMENTS
- See Also:
- Constant Field Values
BalancedSegmentMergePolicy
public BalancedSegmentMergePolicy()
setMergePolicyParams
public void setMergePolicyParams(BalancedSegmentMergePolicy.MergePolicyParams params)
size
protected long size(SegmentInfoPerCommit info)
throws IOException
- Overrides:
size
in class LogByteSizeMergePolicy
- Throws:
IOException
setPartialExpunge
public void setPartialExpunge(boolean doPartialExpunge)
getPartialExpunge
public boolean getPartialExpunge()
setNumLargeSegments
public void setNumLargeSegments(int numLargeSegments)
getNumLargeSegments
public int getNumLargeSegments()
setMaxSmallSegments
public void setMaxSmallSegments(int maxSmallSegments)
getMaxSmallSegments
public int getMaxSmallSegments()
setMergeFactor
public void setMergeFactor(int mergeFactor)
- Overrides:
setMergeFactor
in class LogMergePolicy
findForcedMerges
public MergePolicy.MergeSpecification findForcedMerges(SegmentInfos infos,
int maxNumSegments,
Map<SegmentInfoPerCommit,Boolean> segmentsToMerge)
throws IOException
- Overrides:
findForcedMerges
in class LogMergePolicy
- Throws:
IOException
findForcedDeletesMerges
public MergePolicy.MergeSpecification findForcedDeletesMerges(SegmentInfos infos)
throws CorruptIndexException,
IOException
- Overrides:
findForcedDeletesMerges
in class LogMergePolicy
- Throws:
CorruptIndexException
IOException
findMerges
public MergePolicy.MergeSpecification findMerges(SegmentInfos infos)
throws IOException
- Overrides:
findMerges
in class LogMergePolicy
- Throws:
IOException
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.