Class MergePolicy.OneMerge

  • Enclosing class:
    MergePolicy

    public static class MergePolicy.OneMerge
    extends Object
    OneMerge provides the information necessary to perform an individual primitive merge operation, resulting in a single new segment. The merge spec includes the subset of segments to be merged as well as whether the new segment should use the compound file format.
    • Field Detail

      • estimatedMergeBytes

        public volatile long estimatedMergeBytes
        Estimated size in bytes of the merged segment.
      • totalDocCount

        public final int totalDocCount
        Number of documents in the merged segment.
    • Method Detail

      • getDocMap

        public MergePolicy.DocMap getDocMap​(MergeState mergeState)
        Expert: If getMergeReaders() reorders document IDs, this method must be overridden to return a mapping from the natural doc ID (the doc ID that would result from a natural merge) to the actual doc ID. This mapping is used to apply deletions that happened during the merge to the new segment.
      • setPause

        public void setPause​(boolean paused)
        Set or clear whether this merge is paused paused (for example ConcurrentMergeScheduler will pause merges if too many are running).
      • getPause

        public boolean getPause()
        Returns true if this merge is paused.
        See Also:
        setPause(boolean)
      • segString

        public String segString​(Directory dir)
        Returns a readable description of the current merge state.
      • totalBytesSize

        public long totalBytesSize()
                            throws IOException
        Returns the total size in bytes of this merge. Note that this does not indicate the size of the merged segment, but the input total size. This is only set once the merge is initialized by IndexWriter.
        Throws:
        IOException
      • totalNumDocs

        public int totalNumDocs()
                         throws IOException
        Returns the total number of documents that are included with this merge. Note that this does not indicate the number of documents after the merge.
        Throws:
        IOException