Class MergeScheduler

    • Field Detail

      • infoStream

        protected InfoStream infoStream
        For messages about merge scheduling
    • Constructor Detail

      • MergeScheduler

        protected MergeScheduler()
        Sole constructor. (For invocation by subclass constructors, typically implicit.)
    • Method Detail

      • merge

        public abstract void merge​(IndexWriter writer,
                                   MergeTrigger trigger,
                                   boolean newMergesFound)
                            throws java.io.IOException
        Run the merges provided by IndexWriter.getNextMerge().
        Parameters:
        writer - the IndexWriter to obtain the merges from.
        trigger - the MergeTrigger that caused this merge to happen
        newMergesFound - true iff any new merges were found by the caller otherwise false
        Throws:
        java.io.IOException
      • close

        public abstract void close()
                            throws java.io.IOException
        Close this MergeScheduler.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • setInfoStream

        final void setInfoStream​(InfoStream infoStream)
        IndexWriter calls this on init.
      • verbose

        protected boolean verbose()
        Returns true if infoStream messages are enabled. This method is usually used in conjunction with message(String):
         if (verbose()) {
           message("your message");
         }
         
      • message

        protected void message​(java.lang.String message)
        Outputs the given message - this method assumes verbose() was called and returned true.