Package org.apache.lucene.search.suggest
Class SortedTermFreqIteratorWrapper
java.lang.Object
org.apache.lucene.search.suggest.SortedTermFreqIteratorWrapper
- All Implemented Interfaces:
TermFreqIterator,BytesRefIterator
This wrapper buffers incoming elements and makes sure they are sorted based on given comparator.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.lucene.search.spell.TermFreqIterator
TermFreqIterator.TermFreqIteratorWrapper -
Field Summary
Fields inherited from interface org.apache.lucene.util.BytesRefIterator
EMPTY -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new sorted wrapper, usingBytesRef.getUTF8SortedAsUnicodeComparator()for sorting.SortedTermFreqIteratorWrapper(TermFreqIterator source, Comparator<BytesRef> comparator) Creates a new sorted wrapper, sorting by BytesRef (ascending) then cost (ascending). -
Method Summary
-
Constructor Details
-
SortedTermFreqIteratorWrapper
Creates a new sorted wrapper, usingBytesRef.getUTF8SortedAsUnicodeComparator()for sorting.- Throws:
IOException
-
SortedTermFreqIteratorWrapper
public SortedTermFreqIteratorWrapper(TermFreqIterator source, Comparator<BytesRef> comparator) throws IOException Creates a new sorted wrapper, sorting by BytesRef (ascending) then cost (ascending).- Throws:
IOException
-
-
Method Details
-
getComparator
Description copied from interface:BytesRefIteratorReturn theBytesRefComparator 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 invalid input: '&' reuse it.- Specified by:
getComparatorin interfaceBytesRefIterator
-
next
Description copied from interface:BytesRefIteratorIncrements the iteration to the nextBytesRefin the iterator. Returns the resultingBytesRefornullif 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:
nextin interfaceBytesRefIterator- Returns:
- the next
BytesRefin the iterator ornullif the end of the iterator is reached. - Throws:
IOException- If there is a low-level I/O error.
-
weight
public long weight()Description copied from interface:TermFreqIteratorA term's weight, higher numbers mean better suggestions.- Specified by:
weightin interfaceTermFreqIterator
-