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 
    Represents one sub-reader being merged
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract T
    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
    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 Details

    • 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