Package org.apache.lucene.search.suggest
Class SortedTermFreqIteratorWrapper
- java.lang.Object
-
- org.apache.lucene.search.suggest.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.
-
-
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
Constructors Constructor Description SortedTermFreqIteratorWrapper(TermFreqIterator source)
Creates a new sorted wrapper, usingBytesRef.getUTF8SortedAsUnicodeComparator()
for sorting.SortedTermFreqIteratorWrapper(TermFreqIterator source, java.util.Comparator<BytesRef> comparator)
Creates a new sorted wrapper, sorting by BytesRef (ascending) then cost (ascending).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Comparator<BytesRef>
getComparator()
Return theBytesRef
Comparator used to sort terms provided by the iterator.BytesRef
next()
Increments the iteration to the nextBytesRef
in the iterator.long
weight()
A term's weight, higher numbers mean better suggestions.
-
-
-
Constructor Detail
-
SortedTermFreqIteratorWrapper
public SortedTermFreqIteratorWrapper(TermFreqIterator source) throws java.io.IOException
Creates a new sorted wrapper, usingBytesRef.getUTF8SortedAsUnicodeComparator()
for sorting.- Throws:
java.io.IOException
-
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 theBytesRef
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 interfaceBytesRefIterator
-
next
public BytesRef next() throws java.io.IOException
Description copied from interface:BytesRefIterator
Increments the iteration to the nextBytesRef
in the iterator. Returns the resultingBytesRef
ornull
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 interfaceBytesRefIterator
- Returns:
- the next
BytesRef
in the iterator ornull
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 interfaceTermFreqIterator
-
-