public class SortedInputIterator extends java.lang.Object implements InputIterator
InputIterator.InputIteratorWrapper
EMPTY
Constructor and Description |
---|
SortedInputIterator(Directory tempDir,
java.lang.String tempFileNamePrefix,
InputIterator source)
Creates a new sorted wrapper, using natural order
for sorting.
|
SortedInputIterator(Directory tempDir,
java.lang.String tempFileNamePrefix,
InputIterator source,
java.util.Comparator<BytesRef> comparator)
Creates a new sorted wrapper, sorting by BytesRef
(ascending) then cost (ascending).
|
Modifier and Type | Method and Description |
---|---|
java.util.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 java.util.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,
java.util.Set<BytesRef> contexts,
long weight)
encodes an entry (bytes+(contexts)+(payload)+weight) to the provided writer
|
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(Directory tempDir, java.lang.String tempFileNamePrefix, InputIterator source) throws java.io.IOException
java.io.IOException
public SortedInputIterator(Directory tempDir, java.lang.String tempFileNamePrefix, InputIterator source, java.util.Comparator<BytesRef> comparator) throws java.io.IOException
java.io.IOException
public BytesRef next() throws java.io.IOException
BytesRefIterator
BytesRef
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 BytesRefIterator
BytesRef
in the iterator or null
if
the end of the iterator is reached.java.io.IOException
- If there is a low-level I/O error.public long weight()
InputIterator
weight
in interface InputIterator
public BytesRef payload()
InputIterator
Lookup.LookupResult.payload
to retrieve the payload
for each suggestion.payload
in interface InputIterator
public boolean hasPayloads()
InputIterator
hasPayloads
in interface InputIterator
public java.util.Set<BytesRef> contexts()
InputIterator
contexts
in interface InputIterator
public boolean hasContexts()
InputIterator
hasContexts
in interface InputIterator
protected void encode(OfflineSorter.ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, BytesRef payload, java.util.Set<BytesRef> contexts, long weight) throws java.io.IOException
java.io.IOException
protected long decode(BytesRef scratch, ByteArrayDataInput tmpInput)
protected java.util.Set<BytesRef> decodeContexts(BytesRef scratch, ByteArrayDataInput tmpInput)
protected BytesRef decodePayload(BytesRef scratch, ByteArrayDataInput tmpInput)
Copyright © 2000–2019 The Apache Software Foundation. All rights reserved.