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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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`

    - ### Methods inherited from interface org.apache.lucene.search.LeafCollector

      `competitiveIterator`

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

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.