Package org.apache.lucene.search.suggest

# Class DocumentDictionary.DocumentInputIterator

java.lang.Object
org.apache.lucene.search.suggest.DocumentDictionary.DocumentInputIterator

All Implemented Interfaces:
  `InputIterator`, `BytesRefIterator`

Enclosing class:
  `DocumentDictionary`

protected class DocumentDictionary.DocumentInputIterator extends Object implements InputIterator
Implements `InputIterator` from stored fields.

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.apache.lucene.search.suggest.InputIterator

`InputIterator.InputIteratorWrapper`

## Field Summary

### 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

Modifier and Type
Method
Description
`Set<BytesRef>`
`contexts()`
A term's contexts context can be used to filter suggestions.
`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()`
`BytesRef`
`payload()`
An arbitrary byte[] to record per suggestion.
`long`
`weight()`
A term's weight, higher numbers mean better suggestions.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DocumentInputIterator

public DocumentInputIterator(boolean hasPayloads, boolean hasContexts) throws IOException
Creates an iterator over term, weight and payload fields from the lucene index. setting `withPayload` 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 interface `InputIterator`

### next

public BytesRef next() throws IOException

Specified by:
  `next` in interface `BytesRefIterator`
Throws:
  `IOException`

### payload

public BytesRef payload()
Description copied from interface: `InputIterator`
An arbitrary byte[] to record per suggestion. See `Lookup.LookupResult.payload` to retrieve the payload for each suggestion.

Specified by:
  `payload` in interface `InputIterator`

### hasPayloads

public boolean hasPayloads()
Description copied from interface: `InputIterator`
Returns true if the iterator has payloads

Specified by:
  `hasPayloads` in interface `InputIterator`

### getWeight

protected long getWeight(Document doc, int docId) throws IOException
Returns the value of the `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.

Throws:
  `IOException`

### contexts

public 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 interface `InputIterator`

### hasContexts

public boolean hasContexts()
Description copied from interface: `InputIterator`
Returns true if the iterator has contexts

Specified by:
  `hasContexts` in interface `InputIterator`