Module org.apache.lucene.suggest
Package org.apache.lucene.search.suggest
Class BufferedInputIterator
- java.lang.Object
-
- org.apache.lucene.search.suggest.BufferedInputIterator
-
- All Implemented Interfaces:
InputIterator
,BytesRefIterator
- Direct Known Subclasses:
UnsortedInputIterator
public class BufferedInputIterator extends java.lang.Object implements InputIterator
This wrapper buffers incoming elements.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.lucene.search.suggest.InputIterator
InputIterator.InputIteratorWrapper
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<java.util.Set<BytesRef>>
contextSets
buffered context set entriesprotected int
curPos
current buffer positionprotected BytesRefArray
entries
buffered term entriesprotected long[]
freqs
buffered weights, parallel withentries
private boolean
hasContexts
private boolean
hasPayloads
protected BytesRefArray
payloads
buffered payload entriesprivate BytesRefBuilder
payloadSpare
private BytesRefBuilder
spare
-
Fields inherited from interface org.apache.lucene.search.suggest.InputIterator
EMPTY
-
-
Constructor Summary
Constructors Constructor Description BufferedInputIterator(InputIterator source)
Creates a new iterator, buffering entries from the specified iterator
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<BytesRef>
contexts()
A term's contexts context can be used to filter suggestions.boolean
hasContexts()
Returns true if the iterator has contextsboolean
hasPayloads()
Returns true if the iterator has payloadsBytesRef
next()
Increments the iteration to the nextBytesRef
in the iterator.BytesRef
payload()
An arbitrary byte[] to record per suggestion.long
weight()
A term's weight, higher numbers mean better suggestions.
-
-
-
Field Detail
-
entries
protected BytesRefArray entries
buffered term entries
-
payloads
protected BytesRefArray payloads
buffered payload entries
-
contextSets
protected java.util.List<java.util.Set<BytesRef>> contextSets
buffered context set entries
-
curPos
protected int curPos
current buffer position
-
freqs
protected long[] freqs
buffered weights, parallel withentries
-
spare
private final BytesRefBuilder spare
-
payloadSpare
private final BytesRefBuilder payloadSpare
-
hasPayloads
private final boolean hasPayloads
-
hasContexts
private final boolean hasContexts
-
-
Constructor Detail
-
BufferedInputIterator
public BufferedInputIterator(InputIterator source) throws java.io.IOException
Creates a new iterator, buffering entries from the specified iterator- Throws:
java.io.IOException
-
-
Method Detail
-
weight
public long weight()
Description copied from interface:InputIterator
A term's weight, higher numbers mean better suggestions.- Specified by:
weight
in interfaceInputIterator
-
next
public BytesRef next() throws java.io.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:
java.io.IOException
- If there is a low-level I/O error.
-
payload
public BytesRef payload()
Description copied from interface:InputIterator
An arbitrary byte[] to record per suggestion. SeeLookup.LookupResult.payload
to retrieve the payload for each suggestion.- Specified by:
payload
in interfaceInputIterator
-
hasPayloads
public boolean hasPayloads()
Description copied from interface:InputIterator
Returns true if the iterator has payloads- Specified by:
hasPayloads
in interfaceInputIterator
-
contexts
public java.util.Set<BytesRef> contexts()
Description copied from interface:InputIterator
A term's contexts context can be used to filter suggestions. May return null, if suggest entries do not have any context- Specified by:
contexts
in interfaceInputIterator
-
hasContexts
public boolean hasContexts()
Description copied from interface:InputIterator
Returns true if the iterator has contexts- Specified by:
hasContexts
in interfaceInputIterator
-
-