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
AMergeScheduler
which never executes any merges. It is also a singleton and can be accessed throughINSTANCE
. Use it if you want to prevent anIndexWriter
from ever executing merges, regardless of theMergePolicy
used. Note that you can achieve the same thing by usingNoMergePolicy
, however withNoMergeScheduler
you also ensure that no unnecessary code of anyMergeScheduler
implementation 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 MergeScheduler
INSTANCE
The 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 MergeScheduler
clone()
void
close()
Close this MergeScheduler.Executor
getIntraMergeExecutor(MergePolicy.OneMerge merge)
Provides an executor for parallelism during a single merge operation.void
merge(MergeScheduler.MergeSource mergeSource, MergeTrigger trigger)
Run the merges provided byMergeScheduler.MergeSource.getNextMerge()
.Directory
wrapForMerge(MergePolicy.OneMerge merge, Directory in)
Wraps the incomingDirectory
so 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:MergeScheduler
Close this MergeScheduler.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classMergeScheduler
-
merge
public void merge(MergeScheduler.MergeSource mergeSource, MergeTrigger trigger)
Description copied from class:MergeScheduler
Run the merges provided byMergeScheduler.MergeSource.getNextMerge()
.- Specified by:
merge
in classMergeScheduler
- Parameters:
mergeSource
- theIndexWriter
to obtain the merges from.trigger
- theMergeTrigger
that caused this merge to happen
-
wrapForMerge
public Directory wrapForMerge(MergePolicy.OneMerge merge, Directory in)
Description copied from class:MergeScheduler
Wraps the incomingDirectory
so that we can merge-throttle it usingRateLimitedIndexOutput
.- Overrides:
wrapForMerge
in classMergeScheduler
-
clone
public MergeScheduler clone()
-
getIntraMergeExecutor
public Executor getIntraMergeExecutor(MergePolicy.OneMerge merge)
Description copied from class:MergeScheduler
Provides an executor for parallelism during a single merge operation. By default, the method returns aSameThreadExecutorService
where all intra-merge actions occur in their calling thread.- Overrides:
getIntraMergeExecutor
in classMergeScheduler
-
-