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 longdecode(BytesRef scratch, ByteArrayDataInput tmpInput)protected voidencode(Sort.ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, long weight)Comparator<BytesRef>getComparator()Return theBytesRefComparator used to sort terms provided by the iterator.BytesRefnext()Increments the iteration to the nextBytesRefin the iterator.longweight()
-
-
-
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: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
-
getComparator
public Comparator<BytesRef> 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 & reuse it.- Specified by:
getComparatorin interfaceBytesRefIterator
-
weight
public long weight()
- Specified by:
weightin 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)
-
-