Package org.apache.lucene.search.suggest
Class SortedInputIterator
- java.lang.Object
-
- org.apache.lucene.search.suggest.SortedInputIterator
-
- All Implemented Interfaces:
InputIterator,BytesRefIterator
public class SortedInputIterator extends java.lang.Object implements InputIterator
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.suggest.InputIterator
InputIterator.InputIteratorWrapper
-
-
Field Summary
-
Fields inherited from interface org.apache.lucene.search.suggest.InputIterator
EMPTY
-
-
Constructor Summary
Constructors Constructor Description SortedInputIterator(InputIterator source)Creates a new sorted wrapper, usingBytesRef.getUTF8SortedAsUnicodeComparator()for sorting.SortedInputIterator(InputIterator 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 theBytesRefComparator used to sort terms provided by the iterator.booleanhasPayloads()Returns true if the iterator has payloadsBytesRefnext()Increments the iteration to the nextBytesRefin the iterator.BytesRefpayload()An arbitrary byte[] to record per suggestion.longweight()A term's weight, higher numbers mean better suggestions.
-
-
-
Constructor Detail
-
SortedInputIterator
public SortedInputIterator(InputIterator source) throws java.io.IOException
Creates a new sorted wrapper, usingBytesRef.getUTF8SortedAsUnicodeComparator()for sorting.- Throws:
java.io.IOException
-
SortedInputIterator
public SortedInputIterator(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: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:
java.io.IOException- If there is a low-level I/O error.
-
weight
public long weight()
Description copied from interface:InputIteratorA term's weight, higher numbers mean better suggestions.- Specified by:
weightin interfaceInputIterator
-
payload
public BytesRef payload()
Description copied from interface:InputIteratorAn arbitrary byte[] to record per suggestion. SeeLookup.LookupResult.payloadto retrieve the payload for each suggestion.- Specified by:
payloadin interfaceInputIterator
-
hasPayloads
public boolean hasPayloads()
Description copied from interface:InputIteratorReturns true if the iterator has payloads- Specified by:
hasPayloadsin interfaceInputIterator
-
getComparator
public java.util.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
-
-