LogDocMergePolicy (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.index, class: LogDocMergePolicy

Package org.apache.lucene.index

# Class LogDocMergePolicy

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

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.MergeContext, MergePolicy.MergeException, MergePolicy.MergeObserver, MergePolicy.MergeSpecification, MergePolicy.OneMerge, MergePolicy.OneMergeProgress`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final 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, targetSearchConcurrency`

  ### Fields inherited from class org.apache.lucene.index.MergePolicy

  `DEFAULT_MAX_CFS_SEGMENT_SIZE, maxCFSSegmentSize, noCFSRatio`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LogDocMergePolicy()`
  Sole constructor, setting all settings to their defaults.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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, MergePolicy.MergeContext mergeContext)`
  Return the byte size of the provided `SegmentCommitInfo`, prorated by percentage of non-deleted documents is set.

  ### Methods inherited from class org.apache.lucene.index.LogMergePolicy

  `findForcedDeletesMerges, findForcedMerges, findMerges, getCalibrateSizeByDeletes, getMaxMergeDocs, getMergeFactor, getTargetSearchConcurrency, isMerged, maxFullFlushMergeSize, setCalibrateSizeByDeletes, setMaxMergeDocs, setMergeFactor, setTargetSearchConcurrency, sizeBytes, sizeDocs, toString`

  ### Methods inherited from class org.apache.lucene.index.MergePolicy

  `assertDelCount, findFullFlushMerges, findMerges, getMaxCFSSegmentSizeMB, getNoCFSRatio, isMerged, keepFullyDeletedSegment, message, numDeletesToMerge, segString, setMaxCFSSegmentSizeMB, setNoCFSRatio, useCompoundFile, verbose`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### DEFAULT_MIN_MERGE_DOCS

    public static final int DEFAULT_MIN_MERGE_DOCS
    Default minimum segment size. @see setMinMergeDocs
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### LogDocMergePolicy

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

- ## Method Details

  - ### size

    protected long size(SegmentCommitInfo info, MergePolicy.MergeContext mergeContext) throws IOException
    Description copied from class: `MergePolicy`
    Return the byte size of the provided `SegmentCommitInfo`, prorated 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 candidates for full-flush merges and merged more aggressively in order to avoid having a long tail of small segments. Large values of this parameter increase the merging cost during indexing if you flush small segments.

  - ### getMinMergeDocs

    public int getMinMergeDocs()
    Get the minimum size for a segment to remain un-merged.
    See Also:
      - `*`