protected class DocumentDictionary.DocumentInputIterator extends java.lang.Object implements InputIterator
InputIterator
from stored fields.InputIterator.InputIteratorWrapper
Modifier and Type | Field and Description |
---|---|
private java.util.Set<BytesRef> |
currentContexts |
(package private) IndexableField[] |
currentDocFields |
private int |
currentDocId |
private BytesRef |
currentPayload |
private long |
currentWeight |
private int |
docCount |
private boolean |
hasContexts |
private boolean |
hasPayloads |
private Bits |
liveDocs |
(package private) int |
nextFieldsPosition |
private java.util.Set<java.lang.String> |
relevantFields |
private NumericDocValues |
weightValues |
EMPTY
Constructor and Description |
---|
DocumentInputIterator(boolean hasPayloads,
boolean hasContexts)
Creates an iterator over term, weight and payload fields from the lucene
index.
|
Modifier and Type | Method and Description |
---|---|
java.util.Set<BytesRef> |
contexts()
A term's contexts context can be used to filter suggestions.
|
private java.util.Set<java.lang.String> |
getRelevantFields(java.lang.String... fields) |
protected long |
getWeight(Document doc,
int docId)
Returns the value of the
weightField for the current document. |
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.
|
private final int docCount
private final java.util.Set<java.lang.String> relevantFields
private final boolean hasPayloads
private final boolean hasContexts
private final Bits liveDocs
private int currentDocId
private long currentWeight
private BytesRef currentPayload
private java.util.Set<BytesRef> currentContexts
private final NumericDocValues weightValues
IndexableField[] currentDocFields
int nextFieldsPosition
public DocumentInputIterator(boolean hasPayloads, boolean hasContexts) throws java.io.IOException
withPayload
to false, implies an iterator
over only term and weight.java.io.IOException
public long weight()
InputIterator
weight
in interface InputIterator
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 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
protected long getWeight(Document doc, int docId) throws java.io.IOException
weightField
for the current document.
Retrieves the value for the weightField
if it's stored (using doc
)
or if it's indexed as NumericDocValues
(using docId
) for the document.
If no value is found, then the weight is 0.java.io.IOException
private java.util.Set<java.lang.String> getRelevantFields(java.lang.String... fields)
public java.util.Set<BytesRef> contexts()
InputIterator
contexts
in interface InputIterator
public boolean hasContexts()
InputIterator
hasContexts
in interface InputIterator