public class SortedInputIterator extends Object implements InputIterator
InputIterator.InputIteratorWrapperEMPTY| Constructor and Description |
|---|
SortedInputIterator(InputIterator source)
Creates a new sorted wrapper, using
BytesRef.getUTF8SortedAsUnicodeComparator() for
sorting. |
SortedInputIterator(InputIterator source,
Comparator<BytesRef> comparator)
Creates a new sorted wrapper, sorting by BytesRef
(ascending) then cost (ascending).
|
| Modifier and Type | Method and Description |
|---|---|
Set<BytesRef> |
contexts()
A term's contexts context can be used to filter suggestions.
|
protected long |
decode(BytesRef scratch,
ByteArrayDataInput tmpInput)
decodes the weight at the current position
|
protected Set<BytesRef> |
decodeContexts(BytesRef scratch,
ByteArrayDataInput tmpInput)
decodes the contexts at the current position
|
protected BytesRef |
decodePayload(BytesRef scratch,
ByteArrayDataInput tmpInput)
decodes the payload at the current position
|
protected void |
encode(OfflineSorter.ByteSequencesWriter writer,
ByteArrayDataOutput output,
byte[] buffer,
BytesRef spare,
BytesRef payload,
Set<BytesRef> contexts,
long weight)
encodes an entry (bytes+(contexts)+(payload)+weight) to the provided writer
|
Comparator<BytesRef> |
getComparator()
Return the
BytesRef Comparator used to sort terms provided by the
iterator. |
boolean |
hasContexts()
Returns true if the iterator has contexts
|
boolean |
hasPayloads()
Returns true if the iterator has payloads
|
BytesRef |
next()
Increments the iteration to the next
BytesRef in the iterator. |
BytesRef |
payload()
An arbitrary byte[] to record per suggestion.
|
long |
weight()
A term's weight, higher numbers mean better suggestions.
|
public SortedInputIterator(InputIterator source) throws IOException
BytesRef.getUTF8SortedAsUnicodeComparator() for
sorting.IOExceptionpublic SortedInputIterator(InputIterator source, Comparator<BytesRef> comparator) throws IOException
IOExceptionpublic BytesRef next() throws IOException
BytesRefIteratorBytesRef in the iterator.
Returns the resulting BytesRef or null 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.next in interface BytesRefIteratorBytesRef in the iterator or null if
the end of the iterator is reached.IOException - If there is a low-level I/O error.public long weight()
InputIteratorweight in interface InputIteratorpublic BytesRef payload()
InputIteratorLookup.LookupResult.payload to retrieve the payload
for each suggestion.payload in interface InputIteratorpublic boolean hasPayloads()
InputIteratorhasPayloads in interface InputIteratorpublic Set<BytesRef> contexts()
InputIteratorcontexts in interface InputIteratorpublic Comparator<BytesRef> getComparator()
BytesRefIteratorBytesRef 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.getComparator in interface BytesRefIteratorpublic boolean hasContexts()
InputIteratorhasContexts in interface InputIteratorprotected void encode(OfflineSorter.ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, BytesRef payload, Set<BytesRef> contexts, long weight) throws IOException
IOExceptionprotected long decode(BytesRef scratch, ByteArrayDataInput tmpInput)
protected Set<BytesRef> decodeContexts(BytesRef scratch, ByteArrayDataInput tmpInput)
protected BytesRef decodePayload(BytesRef scratch, ByteArrayDataInput tmpInput)
Copyright © 2000-2015 The Apache Software Foundation. All Rights Reserved.