public abstract class MergeScheduler
extends java.lang.Object
implements java.io.Closeable
Expert: IndexWriter uses an instance
implementing this interface to execute the merges
selected by a MergePolicy. The default
MergeScheduler is ConcurrentMergeScheduler.
Implementers of sub-classes should make sure that Object.clone()
returns an independent instance able to work with any IndexWriter
instance.
| Modifier and Type | Field and Description |
|---|---|
protected InfoStream |
infoStream
For messages about merge scheduling
|
| Modifier | Constructor and Description |
|---|---|
protected |
MergeScheduler()
Sole constructor.
|
| Modifier and Type | Method and Description |
|---|---|
abstract void |
close()
Close this MergeScheduler.
|
abstract void |
merge(IndexWriter writer,
MergeTrigger trigger,
boolean newMergesFound)
Run the merges provided by
IndexWriter.getNextMerge(). |
protected void |
message(java.lang.String message)
Outputs the given message - this method assumes
verbose() was
called and returned true. |
protected boolean |
verbose()
Returns true if infoStream messages are enabled.
|
protected InfoStream infoStream
protected MergeScheduler()
public abstract void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) throws java.io.IOException
IndexWriter.getNextMerge().writer - the IndexWriter to obtain the merges from.trigger - the MergeTrigger that caused this merge to happennewMergesFound - true iff any new merges were found by the caller otherwise falsejava.io.IOExceptionpublic abstract void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseablejava.io.IOExceptionprotected boolean verbose()
message(String):
if (verbose()) {
message("your message");
}
protected void message(java.lang.String message)
verbose() was
called and returned true.Copyright © 2000–2017 The Apache Software Foundation. All rights reserved.