org.apache.lucene.index

## Class SerialMergeScheduler

- java.lang.Object
- - org.apache.lucene.index.MergeScheduler
  - - org.apache.lucene.index.SerialMergeScheduler

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public class SerialMergeScheduler
      extends MergeScheduler

  A `MergeScheduler` that simply does each merge sequentially, using the current thread.

- - ### Field Summary

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

      `infoStream`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SerialMergeScheduler()` Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close this MergeScheduler.
    `void` | `merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound)` Just do the merges in sequence.

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

      `message, verbose, wrapForMerge`

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

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

- - ### Constructor Detail

    - #### SerialMergeScheduler

          public SerialMergeScheduler()

      Sole constructor.

  - ### Method Detail

    - #### merge

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

      Just do the merges in sequence. We do this "synchronized" so that even if the application is using multiple threads, only one merge may run at a time.
      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`
      Throws:
        `IOException`

    - #### 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`

Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.