org.apache.lucene.search.suggest.document

## Class TopSuggestDocsCollector

- java.lang.Object
- - org.apache.lucene.search.SimpleCollector
  - - org.apache.lucene.search.suggest.document.TopSuggestDocsCollector

All Implemented Interfaces:
  Collector, LeafCollector

    public class TopSuggestDocsCollector
    extends SimpleCollector

`Collector` that collects completion and score, along with document id

Non scoring collector that collect completions in order of their pre-computed scores.

NOTE: One document can be collected multiple times if a document is matched for multiple unique completions for a given query

Subclasses should only override `collect(int, CharSequence, CharSequence, float)`.

NOTE: `SimpleCollector.setScorer(org.apache.lucene.search.Scorable)` and `collect(int)` is not used

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Field Summary

Fields
`protected int` `docBase` Document base offset for the current Leaf

### Constructor Summary

Constructors
Constructor and Description
`TopSuggestDocsCollector(int num, boolean skipDuplicates)` Sole constructor Collects at most `num` completions with corresponding document and weight

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `collect(int doc)` Ignored
`void` `collect(int docID, CharSequence key, CharSequence context, float score)` Called for every matched completion, similar to `LeafCollector.collect(int)` but for completions.
`protected void` `doSetNextReader(LeafReaderContext context)`
`protected boolean` `doSkipDuplicates()` Returns true if duplicates are filtered out
`TopSuggestDocs` `get()` Returns at most `num` Top scoring `TopSuggestDocs`s
`int` `getCountToCollect()` Returns the number of results to be collected
`ScoreMode` `scoreMode()` Ignored

### Methods inherited from class org.apache.lucene.search.SimpleCollector

`getLeafCollector, setScorer`

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

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

### Field Detail

#### docBase

    protected int docBase

Document base offset for the current Leaf

### Constructor Detail

#### TopSuggestDocsCollector

    public TopSuggestDocsCollector(int num,
                                   boolean skipDuplicates)

Sole constructor Collects at most `num` completions with corresponding document and weight

### Method Detail

#### doSkipDuplicates

    protected boolean doSkipDuplicates()

Returns true if duplicates are filtered out

#### getCountToCollect

    public int getCountToCollect()

Returns the number of results to be collected

#### doSetNextReader

    protected void doSetNextReader(LeafReaderContext context)
                            throws IOException

Overrides:
  `doSetNextReader` in class `SimpleCollector`
Throws:
  `IOException`

#### collect

    public void collect(int docID,
                        CharSequence key,
                        CharSequence context,
                        float score)
                 throws IOException

Called for every matched completion, similar to `LeafCollector.collect(int)` but for completions. NOTE: collection at the leaf level is guaranteed to be in descending order of score

Throws:
  `IOException`

#### get

    public TopSuggestDocs get()
                       throws IOException

Returns at most `num` Top scoring `TopSuggestDocs`s

Throws:
  `IOException`

#### collect

    public void collect(int doc)
                 throws IOException

Ignored

Specified by:
  `collect` in interface `LeafCollector`
Specified by:
  `collect` in class `SimpleCollector`
Throws:
  `IOException`

#### scoreMode

    public ScoreMode scoreMode()

Ignored