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
protected class DocumentDictionary.DocumentInputIterator extends java.lang.Object implements InputIterator
ImplementsInputIteratorfrom stored fields.
-
-
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 private java.util.Set<BytesRef>currentContexts(package private) IndexableField[]currentDocFieldsprivate intcurrentDocIdprivate BytesRefcurrentPayloadprivate longcurrentWeightprivate intdocCountprivate booleanhasContextsprivate booleanhasPayloadsprivate BitsliveDocs(package private) intnextFieldsPositionprivate java.util.Set<java.lang.String>relevantFieldsprivate NumericDocValuesweightValues-
Fields inherited from interface org.apache.lucene.search.suggest.InputIterator
EMPTY
-
-
Constructor Summary
Constructors Constructor Description DocumentInputIterator(boolean hasPayloads, boolean hasContexts)Creates an iterator over term, weight and payload fields from the lucene index.
-
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.private java.util.Set<java.lang.String>getRelevantFields(java.lang.String... fields)protected longgetWeight(Document doc, int docId)Returns the value of theweightFieldfor the current document.booleanhasContexts()Returns true if the iterator has contextsbooleanhasPayloads()Returns true if the iterator has payloadsBytesRefnext()Increments the iteration to the nextBytesRefin the iterator.BytesRefpayload()An arbitrary byte[] to record per suggestion.longweight()A term's weight, higher numbers mean better suggestions.
-
-
-
Field Detail
-
docCount
private final int docCount
-
relevantFields
private final java.util.Set<java.lang.String> relevantFields
-
hasPayloads
private final boolean hasPayloads
-
hasContexts
private final boolean hasContexts
-
liveDocs
private final Bits liveDocs
-
currentDocId
private int currentDocId
-
currentWeight
private long currentWeight
-
currentPayload
private BytesRef currentPayload
-
currentContexts
private java.util.Set<BytesRef> currentContexts
-
weightValues
private final NumericDocValues weightValues
-
currentDocFields
IndexableField[] currentDocFields
-
nextFieldsPosition
int nextFieldsPosition
-
-
Constructor Detail
-
DocumentInputIterator
public DocumentInputIterator(boolean hasPayloads, boolean hasContexts) throws java.io.IOExceptionCreates an iterator over term, weight and payload fields from the lucene index. settingwithPayloadto false, implies an iterator over only term and weight.- Throws:
java.io.IOException
-
-
Method Detail
-
weight
public long weight()
Description copied from interface:InputIteratorA term's weight, higher numbers mean better suggestions.- Specified by:
weightin interfaceInputIterator
-
next
public BytesRef next() throws java.io.IOException
Description copied from interface:BytesRefIteratorIncrements the iteration to the nextBytesRefin the iterator. Returns the resultingBytesRefornullif 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:
nextin interfaceBytesRefIterator- Returns:
- the next
BytesRefin the iterator ornullif 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:InputIteratorAn arbitrary byte[] to record per suggestion. SeeLookup.LookupResult.payloadto retrieve the payload for each suggestion.- Specified by:
payloadin interfaceInputIterator
-
hasPayloads
public boolean hasPayloads()
Description copied from interface:InputIteratorReturns true if the iterator has payloads- Specified by:
hasPayloadsin interfaceInputIterator
-
getWeight
protected long getWeight(Document doc, int docId) throws java.io.IOException
Returns the value of theweightFieldfor the current document. Retrieves the value for theweightFieldif 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:
java.io.IOException
-
getRelevantFields
private java.util.Set<java.lang.String> getRelevantFields(java.lang.String... fields)
-
contexts
public java.util.Set<BytesRef> contexts()
Description copied from interface:InputIteratorA term's contexts context can be used to filter suggestions. May return null, if suggest entries do not have any context- Specified by:
contextsin interfaceInputIterator
-
hasContexts
public boolean hasContexts()
Description copied from interface:InputIteratorReturns true if the iterator has contexts- Specified by:
hasContextsin interfaceInputIterator
-
-