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 and 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
`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 Detail

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

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