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

A `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.

### Field Summary

Fields
`static MergeScheduler` `INSTANCE` The single instance of `NoMergeScheduler`

### Fields inherited from class org.apache.lucene.index.MergeScheduler

`infoStream`

### Method Summary

All Methods Instance Methods Concrete Methods
`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`.

### Methods inherited from class org.apache.lucene.index.MergeScheduler

`message, verbose`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### INSTANCE

    public static final MergeScheduler INSTANCE

The single instance of `NoMergeScheduler`

### Method Detail

#### close

    public void close()

Description copied from class: `MergeScheduler`
Close this MergeScheduler.

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in class `MergeScheduler`

#### merge

    public void merge(IndexWriter writer,
                      MergeTrigger trigger,
                      boolean newMergesFound)

Description copied from class: `MergeScheduler`
Run the merges provided by `IndexWriter.getNextMerge()`.

Specified by:
  `merge` in class `MergeScheduler`
Parameters:
  `writer` - the `IndexWriter` to obtain the merges from.
  `trigger` - the `MergeTrigger` that caused this merge to happen
  `newMergesFound` - `true` iff any new merges were found by the caller otherwise `false`

#### wrapForMerge

    public Directory wrapForMerge(MergePolicy.OneMerge merge,
                                  Directory in)

Description copied from class: `MergeScheduler`
Wraps the incoming `Directory` so that we can merge-throttle it using `RateLimitedIndexOutput`.

Overrides:
  `wrapForMerge` in class `MergeScheduler`

#### clone

    public MergeScheduler clone()

Overrides:
  `clone` in class `Object`