public final class NoMergeScheduler extends MergeScheduler
MergeScheduler which never executes any merges. It is also a
singleton and can be accessed through INSTANCE. Use
it if you want to prevent an IndexWriter from ever executing merges,
regardless of the MergePolicy used. Note that you can achieve the
same thing by using NoMergePolicy, however with
NoMergeScheduler you also ensure that no unnecessary code of any
MergeScheduler implementation is ever executed. Hence it is
recommended to use both if you want to disable merges from ever happening.| Modifier and Type | Field and Description |
|---|---|
static MergeScheduler |
INSTANCE
The single instance of
NoMergeScheduler |
infoStream| Modifier and Type | Method and Description |
|---|---|
MergeScheduler |
clone() |
void |
close()
Close this MergeScheduler.
|
void |
merge(IndexWriter writer,
MergeTrigger trigger,
boolean newMergesFound)
Run the merges provided by
IndexWriter.getNextMerge(). |
Directory |
wrapForMerge(MergePolicy.OneMerge merge,
Directory in)
Wraps the incoming
Directory so that we can merge-throttle it
using RateLimitedIndexOutput. |
message, verbosepublic static final MergeScheduler INSTANCE
NoMergeSchedulerpublic void close()
MergeSchedulerclose in interface Closeableclose in interface AutoCloseableclose in class MergeSchedulerpublic void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound)
MergeSchedulerIndexWriter.getNextMerge().merge in class MergeSchedulerwriter - 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 falsepublic Directory wrapForMerge(MergePolicy.OneMerge merge, Directory in)
MergeSchedulerDirectory so that we can merge-throttle it
using RateLimitedIndexOutput.wrapForMerge in class MergeSchedulerpublic MergeScheduler clone()
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.