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.MergeScheduler.MergeSource| 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(MergeScheduler.MergeSource mergeSource,
MergeTrigger trigger)
Run the merges provided by
MergeScheduler.MergeSource.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(MergeScheduler.MergeSource mergeSource, MergeTrigger trigger)
MergeSchedulerMergeScheduler.MergeSource.getNextMerge().merge in class MergeSchedulermergeSource - the IndexWriter to obtain the merges from.trigger - the MergeTrigger that caused this merge to happenpublic 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-2021 Apache Software Foundation. All Rights Reserved.