Package org.apache.lucene.index

## Class DocIDMerger<T extends DocIDMerger.Sub>

- java.lang.Object
- - org.apache.lucene.index.DocIDMerger<T>

-     public abstract class DocIDMerger<T extends DocIDMerger.Sub>
      extends Object

  Utility class to help merging documents from sub-readers according to either simple concatenated (unsorted) order, or by a specified index-time sort, skipping deleted documents and remapping non-deleted documents.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `DocIDMerger.Sub` | Represents one sub-reader being merged

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract T` | `next()` | Returns null when done.
    `static <T extends DocIDMerger.Sub> DocIDMerger<T>` | `of​(List<T> subs, boolean indexIsSorted)` | Construct this from the provided subs
    `static <T extends DocIDMerger.Sub> DocIDMerger<T>` | `of​(List<T> subs, int maxCount, boolean indexIsSorted)` | Construct this from the provided subs, specifying the maximum sub count
    `abstract void` | `reset()` | Reuse API, currently only used by postings during merge

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

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

- - ### Method Detail

    - #### of

          public static <T extends DocIDMerger.Sub> DocIDMerger<T> of​(List<T> subs,
                                                                      int maxCount,
                                                                      boolean indexIsSorted)
                                                               throws IOException

      Construct this from the provided subs, specifying the maximum sub count
      Throws:
        `IOException`

    - #### of

          public static <T extends DocIDMerger.Sub> DocIDMerger<T> of​(List<T> subs,
                                                                      boolean indexIsSorted)
                                                               throws IOException

      Construct this from the provided subs
      Throws:
        `IOException`

    - #### reset

          public abstract void reset()
                              throws IOException

      Reuse API, currently only used by postings during merge
      Throws:
        `IOException`

    - #### next

          public abstract T next()
                          throws IOException

      Returns null when done. NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior.
      Throws:
        `IOException`