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 Object implements TermFreqIterator
This wrapper buffers incoming elements and makes sure they are sorted based on given comparator.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
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, Comparator<BytesRef> comparator)
SortedTermFreqIteratorWrapper(TermFreqIterator source, Comparator<BytesRef> comparator, boolean compareRawBytes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
decode(BytesRef scratch, ByteArrayDataInput tmpInput)
protected void
encode(Sort.ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, long weight)
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()
-
-
-
Constructor Detail
-
SortedTermFreqIteratorWrapper
public SortedTermFreqIteratorWrapper(TermFreqIterator source, Comparator<BytesRef> comparator) throws IOException
- Throws:
IOException
-
SortedTermFreqIteratorWrapper
public SortedTermFreqIteratorWrapper(TermFreqIterator source, Comparator<BytesRef> comparator, boolean compareRawBytes) throws IOException
- Throws:
IOException
-
-
Method Detail
-
next
public BytesRef next() throws 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:
IOException
-
getComparator
public 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
-
weight
public long weight()
- Specified by:
weight
in interfaceTermFreqIterator
-
encode
protected void encode(Sort.ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, long weight) throws IOException
- Throws:
IOException
-
decode
protected long decode(BytesRef scratch, ByteArrayDataInput tmpInput)
-
-