Class DocIDMerger<T extends DocIDMerger.Sub>

  • Direct Known Subclasses:
    DocIDMerger.SequentialDocIDMerger, DocIDMerger.SortedDocIDMerger

    public abstract class DocIDMerger<T extends DocIDMerger.Sub>
    extends java.lang.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.
    • Constructor Detail

      • DocIDMerger

        private DocIDMerger()
    • Method Detail

      • of

        public static <T extends DocIDMerger.SubDocIDMerger<T> of​(java.util.List<T> subs,
                                                                    int maxCount,
                                                                    boolean indexIsSorted)
                                                             throws java.io.IOException
        Construct this from the provided subs, specifying the maximum sub count
        Throws:
        java.io.IOException
      • of

        public static <T extends DocIDMerger.SubDocIDMerger<T> of​(java.util.List<T> subs,
                                                                    boolean indexIsSorted)
                                                             throws java.io.IOException
        Construct this from the provided subs
        Throws:
        java.io.IOException
      • reset

        public abstract void reset()
                            throws java.io.IOException
        Reuse API, currently only used by postings during merge
        Throws:
        java.io.IOException
      • next

        public abstract T next()
                        throws java.io.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:
        java.io.IOException