## org.apache.lucene.index
Class LogDocMergePolicy

    java.lang.Object
      org.apache.lucene.index.MergePolicy
          org.apache.lucene.index.LogMergePolicy
              org.apache.lucene.index.LogDocMergePolicy

All Implemented Interfaces:
  Closeable

    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.MergeAbortedException, MergePolicy.MergeException, MergePolicy.MergeSpecification, 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, noCFSRatio, useCompoundFile`

Fields inherited from class org.apache.lucene.index.MergePolicy
`writer`

Constructor Summary
`LogDocMergePolicy()`

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(SegmentInfo info)`

Methods inherited from class org.apache.lucene.index.LogMergePolicy
`close, findForcedDeletesMerges, findForcedMerges, findMerges, getCalibrateSizeByDeletes, getMaxMergeDocs, getMergeFactor, getNoCFSRatio, getUseCompoundFile, isMerged, isMerged, message, setCalibrateSizeByDeletes, setMaxMergeDocs, setMergeFactor, setNoCFSRatio, setUseCompoundFile, sizeBytes, sizeDocs, toString, useCompoundFile, verbose`

Methods inherited from class org.apache.lucene.index.MergePolicy
`setIndexWriter`

Methods inherited from class java.lang.Object
`clone, 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()

Method Detail

### size

    protected long size(SegmentInfo info)
                 throws IOException

  Specified by:
    `size` in class `LogMergePolicy`
  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)`