Class SortedInputIterator

    • Field Detail

      • tempSortedFileName

        private java.lang.String tempSortedFileName
      • comparator

        private final java.util.Comparator<BytesRef> comparator
      • hasPayloads

        private final boolean hasPayloads
      • hasContexts

        private final boolean hasContexts
      • tempFileNamePrefix

        private final java.lang.String tempFileNamePrefix
      • done

        private boolean done
      • weight

        private long weight
      • contexts

        private java.util.Set<BytesRef> contexts
      • tieBreakByCostComparator

        private final java.util.Comparator<BytesRef> tieBreakByCostComparator
        Sortes by BytesRef (ascending) then cost (ascending).
    • Constructor Detail

      • SortedInputIterator

        public SortedInputIterator​(Directory tempDir,
                                   java.lang.String tempFileNamePrefix,
                                   InputIterator source)
                            throws java.io.IOException
        Creates a new sorted wrapper, using natural order for sorting.
        Throws:
        java.io.IOException
      • SortedInputIterator

        public SortedInputIterator​(Directory tempDir,
                                   java.lang.String tempFileNamePrefix,
                                   InputIterator 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

      • 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: InputIterator
        A term's weight, higher numbers mean better suggestions.
        Specified by:
        weight in interface InputIterator
      • hasPayloads

        public boolean hasPayloads()
        Description copied from interface: InputIterator
        Returns true if the iterator has payloads
        Specified by:
        hasPayloads in interface InputIterator
      • contexts

        public java.util.Set<BytesRef> contexts()
        Description copied from interface: InputIterator
        A term's contexts context can be used to filter suggestions. May return null, if suggest entries do not have any context
        Specified by:
        contexts in interface InputIterator
      • hasContexts

        public boolean hasContexts()
        Description copied from interface: InputIterator
        Returns true if the iterator has contexts
        Specified by:
        hasContexts in interface InputIterator
      • close

        private void close()
                    throws java.io.IOException
        Throws:
        java.io.IOException