Class SortedTermFreqIteratorWrapper

  • All Implemented Interfaces:
    TermFreqIterator, BytesRefIterator

    public class SortedTermFreqIteratorWrapper
    extends java.lang.Object
    implements TermFreqIterator
    This wrapper buffers incoming elements and makes sure they are sorted based on given comparator.
    • Constructor Detail

      • SortedTermFreqIteratorWrapper

        public SortedTermFreqIteratorWrapper​(TermFreqIterator source,
                                             java.util.Comparator<BytesRef> comparator)
                                      throws java.io.IOException
        Creates a new sorted wrapper, sorting by BytesRef (ascending) then cost (ascending).
        Throws:
        java.io.IOException
    • Method Detail

      • getComparator

        public java.util.Comparator<BytesRef> getComparator()
        Description copied from interface: BytesRefIterator
        Return the BytesRef Comparator used to sort terms provided by the iterator. This may return null if there are no items or the iterator is not sorted. Callers may invoke this method many times, so it's best to cache a single instance & reuse it.
        Specified by:
        getComparator in interface BytesRefIterator
      • next

        public BytesRef next()
                      throws java.io.IOException
        Description copied from interface: BytesRefIterator
        Increments the iteration to the next BytesRef in the iterator. Returns the resulting BytesRef or null if the end of the iterator is reached. The returned BytesRef may be re-used across calls to next. After this method returns null, do not call it again: the results are undefined.
        Specified by:
        next in interface BytesRefIterator
        Returns:
        the next BytesRef in the iterator or null if the end of the iterator is reached.
        Throws:
        java.io.IOException - If there is a low-level I/O error.
      • weight

        public long weight()
        Description copied from interface: TermFreqIterator
        A term's weight, higher numbers mean better suggestions.
        Specified by:
        weight in interface TermFreqIterator