NoMergeScheduler

A MergeScheduler which never executes any merges. It is also a singleton and can be accessed through NoMergeScheduler.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.

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
Link copied to clipboard
open override fun close()

Close this MergeScheduler.

Link copied to clipboard

Provides an executor for parallelism during a single merge operation. By default, the method returns a SameThreadExecutorService where all intra-merge actions occur in their calling thread.

Link copied to clipboard
open fun initialize(infoStream: InfoStream, directory: Directory)

IndexWriter calls this on init.

Link copied to clipboard
open suspend override fun merge(mergeSource: MergeScheduler.MergeSource, trigger: MergeTrigger)

Run the merges provided by MergeSource.getNextMerge.

Link copied to clipboard
fun message(message: String)

Outputs the given message - this method assumes .verbose was called and returned true.

Link copied to clipboard

Returns true if infoStream messages are enabled. This method is usually used in conjunction with .message:

Link copied to clipboard
open override fun wrapForMerge(merge: MergePolicy.OneMerge, in: Directory): Directory

Wraps the incoming Directory so that we can merge-throttle it using [ ].