Package org.apache.lucene.index
Class NoMergeScheduler
- java.lang.Object
-
- org.apache.lucene.index.MergeScheduler
-
- org.apache.lucene.index.NoMergeScheduler
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public final class NoMergeScheduler extends MergeScheduler
AMergeSchedulerwhich never executes any merges. It is also a singleton and can be accessed throughINSTANCE. Use it if you want to prevent anIndexWriterfrom ever executing merges, regardless of theMergePolicyused. Note that you can achieve the same thing by usingNoMergePolicy, however withNoMergeScheduleryou also ensure that no unnecessary code of anyMergeSchedulerimplementation is ever executed. Hence it is recommended to use both if you want to disable merges from ever happening.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.index.MergeScheduler
MergeScheduler.MergeSource
-
-
Field Summary
Fields Modifier and Type Field Description static MergeSchedulerINSTANCEThe single instance ofNoMergeScheduler-
Fields inherited from class org.apache.lucene.index.MergeScheduler
infoStream
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MergeSchedulerclone()voidclose()Close this MergeScheduler.ExecutorgetIntraMergeExecutor(MergePolicy.OneMerge merge)Provides an executor for parallelism during a single merge operation.voidmerge(MergeScheduler.MergeSource mergeSource, MergeTrigger trigger)Run the merges provided byMergeScheduler.MergeSource.getNextMerge().DirectorywrapForMerge(MergePolicy.OneMerge merge, Directory in)Wraps the incomingDirectoryso that we can merge-throttle it usingRateLimitedIndexOutput.-
Methods inherited from class org.apache.lucene.index.MergeScheduler
message, verbose
-
-
-
-
Field Detail
-
INSTANCE
public static final MergeScheduler INSTANCE
The single instance ofNoMergeScheduler
-
-
Method Detail
-
close
public void close()
Description copied from class:MergeSchedulerClose this MergeScheduler.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classMergeScheduler
-
merge
public void merge(MergeScheduler.MergeSource mergeSource, MergeTrigger trigger)
Description copied from class:MergeSchedulerRun the merges provided byMergeScheduler.MergeSource.getNextMerge().- Specified by:
mergein classMergeScheduler- Parameters:
mergeSource- theIndexWriterto obtain the merges from.trigger- theMergeTriggerthat caused this merge to happen
-
wrapForMerge
public Directory wrapForMerge(MergePolicy.OneMerge merge, Directory in)
Description copied from class:MergeSchedulerWraps the incomingDirectoryso that we can merge-throttle it usingRateLimitedIndexOutput.- Overrides:
wrapForMergein classMergeScheduler
-
clone
public MergeScheduler clone()
-
getIntraMergeExecutor
public Executor getIntraMergeExecutor(MergePolicy.OneMerge merge)
Description copied from class:MergeSchedulerProvides an executor for parallelism during a single merge operation. By default, the method returns aSameThreadExecutorServicewhere all intra-merge actions occur in their calling thread.- Overrides:
getIntraMergeExecutorin classMergeScheduler
-
-