org.apache.lucene.index
Class LogDocMergePolicy

java.lang.Object
  extended by org.apache.lucene.index.MergePolicy
      extended by org.apache.lucene.index.LogMergePolicy
          extended by org.apache.lucene.index.LogDocMergePolicy
All Implemented Interfaces:
Closeable, Cloneable

public class LogDocMergePolicy
extends LogMergePolicy

This is a LogMergePolicy that measures size of a segment as the number of documents (not taking deletions into account).


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.index.MergePolicy
MergePolicy.DocMap, MergePolicy.MergeAbortedException, MergePolicy.MergeException, MergePolicy.MergeSpecification, MergePolicy.MergeTrigger, MergePolicy.OneMerge
 
Field Summary
static int DEFAULT_MIN_MERGE_DOCS
          Default minimum segment size.
 
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
 
Fields inherited from class org.apache.lucene.index.MergePolicy
DEFAULT_MAX_CFS_SEGMENT_SIZE, maxCFSSegmentSize, noCFSRatio, writer
 
Constructor Summary
LogDocMergePolicy()
          Sole constructor, setting all settings to their defaults.
 
Method Summary
 int getMinMergeDocs()
          Get the minimum size for a segment to remain un-merged.
 void setMinMergeDocs(int minMergeDocs)
          Sets the minimum size for the lowest level segments.
protected  long size(SegmentCommitInfo info)
          Return the byte size of the provided SegmentCommitInfo, pro-rated by percentage of non-deleted documents is set.
 
Methods inherited from class org.apache.lucene.index.LogMergePolicy
close, findForcedDeletesMerges, findForcedMerges, findMerges, getCalibrateSizeByDeletes, getMaxMergeDocs, getMergeFactor, isMerged, message, setCalibrateSizeByDeletes, setMaxMergeDocs, setMergeFactor, sizeBytes, sizeDocs, toString, verbose
 
Methods inherited from class org.apache.lucene.index.MergePolicy
clone, getMaxCFSSegmentSizeMB, getNoCFSRatio, isMerged, setIndexWriter, setMaxCFSSegmentSizeMB, setNoCFSRatio, useCompoundFile
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_MIN_MERGE_DOCS

public static final int DEFAULT_MIN_MERGE_DOCS
Default minimum segment size. @see setMinMergeDocs

See Also:
Constant Field Values
Constructor Detail

LogDocMergePolicy

public LogDocMergePolicy()
Sole constructor, setting all settings to their defaults.

Method Detail

size

protected long size(SegmentCommitInfo info)
             throws IOException
Description copied from class: MergePolicy
Return the byte size of the provided SegmentCommitInfo, pro-rated by percentage of non-deleted documents is set.

Overrides:
size in class MergePolicy
Throws:
IOException

setMinMergeDocs

public void setMinMergeDocs(int minMergeDocs)
Sets the minimum size for the lowest level segments. Any segments below this size are considered to be on the same level (even if they vary drastically in size) and will be merged whenever there are mergeFactor of them. This effectively truncates the "long tail" of small segments that would otherwise be created into a single level. If you set this too large, it could greatly increase the merging cost during indexing (if you flush many small segments).


getMinMergeDocs

public int getMinMergeDocs()
Get the minimum size for a segment to remain un-merged.

See Also:
setMinMergeDocs(int)


Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.