Class NoMergePolicy

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Cloneable

    public final class NoMergePolicy
    extends MergePolicy
    A MergePolicy which never returns merges to execute (hence it's name). It is also a singleton and can be accessed through NO_COMPOUND_FILES if you want to indicate the index does not use compound files, or through COMPOUND_FILES otherwise. Use it if you want to prevent an IndexWriter from ever executing merges, without going through the hassle of tweaking a merge policy's settings to achieve that, such as changing its merge factor.
    • Field Detail

      • NO_COMPOUND_FILES

        public static final MergePolicy NO_COMPOUND_FILES
        A singleton NoMergePolicy which indicates the index does not use compound files.
      • COMPOUND_FILES

        public static final MergePolicy COMPOUND_FILES
        A singleton NoMergePolicy which indicates the index uses compound files.
    • Method Detail

      • close

        public void close()
        Description copied from class: MergePolicy
        Release all resources for the policy.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class MergePolicy
      • findForcedMerges

        public MergePolicy.MergeSpecification findForcedMerges​(SegmentInfos segmentInfos,
                                                               int maxSegmentCount,
                                                               java.util.Map<SegmentCommitInfo,​java.lang.Boolean> segmentsToMerge)
        Description copied from class: MergePolicy
        Determine what set of merge operations is necessary in order to merge to <= the specified segment count. IndexWriter calls this when its IndexWriter.forceMerge(int) method is called. This call is always synchronized on the IndexWriter instance so only one thread at a time will call this method.
        Specified by:
        findForcedMerges in class MergePolicy
        Parameters:
        segmentInfos - the total set of segments in the index
        maxSegmentCount - requested maximum number of segments in the index (currently this is always 1)
        segmentsToMerge - contains the specific SegmentInfo instances that must be merged away. This may be a subset of all SegmentInfos. If the value is True for a given SegmentInfo, that means this segment was an original segment present in the to-be-merged index; else, it was a segment produced by a cascaded merge.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object