Class MergePolicy.OneMerge

  • Enclosing class:

    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.
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Field Detail

      • estimatedMergeBytes

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

      • OneMerge

        public OneMerge​(CodecReader... codecReaders)
        Create a OneMerge directly from CodecReaders. Used to merge incoming readers in IndexWriter.addIndexes(CodecReader...). This OneMerge works directly on readers and has an empty segments list.
        codecReaders - Codec readers to merge
    • Method Detail

      • mergeInit

        public void mergeInit()
                       throws IOException
        Called by IndexWriter after the merge started and from the thread that will be executing the merge.
      • mergeFinished

        public void mergeFinished​(boolean success,
                                  boolean segmentDropped)
                           throws IOException
        Called by IndexWriter after the merge is done and all readers have been closed.
        success - true iff the merge finished successfully ie. was committed
        segmentDropped - true iff the merged segment was dropped since it was fully deleted
      • segString

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

        public long totalBytesSize()
        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.
      • totalNumDocs

        public int totalNumDocs()
        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.
      • getStoreMergeInfo

        public MergeInfo getStoreMergeInfo()
        Return MergeInfo describing this merge.
      • isAborted

        public boolean isAborted()
        Returns true if this merge was or should be aborted.
      • setAborted

        public void setAborted()
        Marks this merge as aborted. The merge thread should terminate at the soonest possible moment.