Module org.apache.lucene.suggest
Package org.apache.lucene.search.suggest
Class DocumentDictionary.DocumentInputIterator
java.lang.Object
org.apache.lucene.search.suggest.DocumentDictionary.DocumentInputIterator
- All Implemented Interfaces:
InputIterator
,BytesRefIterator
- Direct Known Subclasses:
DocumentValueSourceDictionary.DocumentValueSourceInputIterator
- Enclosing class:
DocumentDictionary
Implements
InputIterator
from stored fields.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.lucene.search.suggest.InputIterator
InputIterator.InputIteratorWrapper
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) IndexableField[]
private int
private BytesRef
private long
private final int
private final boolean
private final boolean
private final Bits
(package private) int
private final NumericDocValues
Fields inherited from interface org.apache.lucene.search.suggest.InputIterator
EMPTY
-
Constructor Summary
ConstructorsConstructorDescriptionDocumentInputIterator
(boolean hasPayloads, boolean hasContexts) Creates an iterator over term, weight and payload fields from the lucene index. -
Method Summary
Modifier and TypeMethodDescriptioncontexts()
A term's contexts context can be used to filter suggestions.getRelevantFields
(String... fields) protected long
Returns the value of theweightField
for the current document.boolean
Returns true if the iterator has contextsboolean
Returns true if the iterator has payloadsnext()
Increments the iteration to the nextBytesRef
in the iterator.payload()
An arbitrary byte[] to record per suggestion.long
weight()
A term's weight, higher numbers mean better suggestions.
-
Field Details
-
docCount
private final int docCount -
relevantFields
-
hasPayloads
private final boolean hasPayloads -
hasContexts
private final boolean hasContexts -
liveDocs
-
currentDocId
private int currentDocId -
currentWeight
private long currentWeight -
currentPayload
-
currentContexts
-
weightValues
-
currentDocFields
IndexableField[] currentDocFields -
nextFieldsPosition
int nextFieldsPosition
-
-
Constructor Details
-
DocumentInputIterator
Creates an iterator over term, weight and payload fields from the lucene index. settingwithPayload
to false, implies an iterator over only term and weight.- Throws:
IOException
-
-
Method Details
-
weight
public long weight()Description copied from interface:InputIterator
A term's weight, higher numbers mean better suggestions.- Specified by:
weight
in interfaceInputIterator
-
next
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:
IOException
- If there is a low-level I/O error.
-
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
-
getWeight
Returns the value of theweightField
for the current document. Retrieves the value for theweightField
if it's stored (usingdoc
) or if it's indexed asNumericDocValues
(usingdocId
) for the document. If no value is found, then the weight is 0.- Throws:
IOException
-
getRelevantFields
-
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
-