Package org.apache.lucene.index
Class MergeScheduler
- java.lang.Object
-
- org.apache.lucene.index.MergeScheduler
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
- Direct Known Subclasses:
ConcurrentMergeScheduler,NoMergeScheduler,SerialMergeScheduler
public abstract class MergeScheduler extends java.lang.Object implements java.io.CloseableExpert:
IndexWriteruses an instance implementing this interface to execute the merges selected by aMergePolicy. The default MergeScheduler isConcurrentMergeScheduler.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceMergeScheduler.MergeSourceProvides access to new merges and executes the actual merge
-
Field Summary
Fields Modifier and Type Field Description protected InfoStreaminfoStreamFor messages about merge scheduling
-
Constructor Summary
Constructors Modifier Constructor Description protectedMergeScheduler()Sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidclose()Close this MergeScheduler.(package private) voidinitialize(InfoStream infoStream, Directory directory)IndexWriter calls this on init.abstract voidmerge(MergeScheduler.MergeSource mergeSource, MergeTrigger trigger)Run the merges provided byMergeScheduler.MergeSource.getNextMerge().protected voidmessage(java.lang.String message)Outputs the given message - this method assumesverbose()was called and returned true.protected booleanverbose()Returns true if infoStream messages are enabled.DirectorywrapForMerge(MergePolicy.OneMerge merge, Directory in)Wraps the incomingDirectoryso that we can merge-throttle it usingRateLimitedIndexOutput.
-
-
-
Field Detail
-
infoStream
protected InfoStream infoStream
For messages about merge scheduling
-
-
Method Detail
-
merge
public abstract void merge(MergeScheduler.MergeSource mergeSource, MergeTrigger trigger) throws java.io.IOException
Run the merges provided byMergeScheduler.MergeSource.getNextMerge().- Parameters:
mergeSource- theIndexWriterto obtain the merges from.trigger- theMergeTriggerthat caused this merge to happen- Throws:
java.io.IOException
-
wrapForMerge
public Directory wrapForMerge(MergePolicy.OneMerge merge, Directory in)
Wraps the incomingDirectoryso that we can merge-throttle it usingRateLimitedIndexOutput.
-
close
public abstract void close() throws java.io.IOExceptionClose this MergeScheduler.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
initialize
void initialize(InfoStream infoStream, Directory directory) throws java.io.IOException
IndexWriter calls this on init.- Throws:
java.io.IOException
-
verbose
protected boolean verbose()
Returns true if infoStream messages are enabled. This method is usually used in conjunction withmessage(String):if (verbose()) { message("your message"); }
-
message
protected void message(java.lang.String message)
Outputs the given message - this method assumesverbose()was called and returned true.
-
-