org.apache.lucene.search

## Class TopScoreDocCollector

- java.lang.Object
- - org.apache.lucene.search.Collector
  - - org.apache.lucene.search.TopDocsCollector
    - - org.apache.lucene.search.TopScoreDocCollector

-     public abstract class TopScoreDocCollector
      extends TopDocsCollector

  A `Collector` implementation that collects the top-scoring hits, returning them as a `TopDocs`. This is used by `IndexSearcher` to implement `TopDocs`-based search. Hits are sorted by score descending and then (when the scores are tied) docID ascending. When you create an instance of this collector you should know in advance whether documents are going to be collected in doc Id order or not.

  NOTE: The values `Float.NaN` and {Float#NEGATIVE_INFINITY} are not valid scores. This collector will not properly collect hits with such scores.

- - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.search.TopDocsCollector

      `EMPTY_TOPDOCS, pq, totalHits`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static TopScoreDocCollector` | `create(int numHits, boolean docsScoredInOrder)` Creates a new `TopScoreDocCollector` given the number of hits to collect and whether documents are scored in order by the input `Scorer` to `setScorer(Scorer)`.
    `protected TopDocs` | `newTopDocs(ScoreDoc[] results, int start)` Returns a `TopDocs` instance containing the given results.
    `void` | `setNextReader(IndexReader reader, int base)` Called before collecting from each IndexReader.
    `void` | `setScorer(Scorer scorer)` Called before successive calls to `Collector.collect(int)`.

    - ### Methods inherited from class org.apache.lucene.search.TopDocsCollector

      `getTotalHits, populateResults, topDocs, topDocs, topDocs`

    - ### Methods inherited from class org.apache.lucene.search.Collector

      `acceptsDocsOutOfOrder, collect`

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

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

- - ### Method Detail

    - #### create

          public static TopScoreDocCollector create(int numHits,
                                                    boolean docsScoredInOrder)

      Creates a new `TopScoreDocCollector` given the number of hits to collect and whether documents are scored in order by the input `Scorer` to `setScorer(Scorer)`.

      NOTE: The instances returned by this method pre-allocate a full array of length `numHits`, and fill the array with sentinel objects.

    - #### newTopDocs

          protected TopDocs newTopDocs(ScoreDoc[] results,
                                       int start)

      Description copied from class: `TopDocsCollector`
      Returns a `TopDocs` instance containing the given results. If `results` is null it means there are no results to return, either because there were 0 calls to collect() or because the arguments to topDocs were invalid.
      Overrides:
        `newTopDocs` in class `TopDocsCollector`

    - #### setNextReader

          public void setNextReader(IndexReader reader,
                                    int base)

      Description copied from class: `Collector`
      Called before collecting from each IndexReader. All doc ids in `Collector.collect(int)` will correspond to reader. Add docBase to the current IndexReaders internal document id to re-base ids in `Collector.collect(int)`.
      Specified by:
        `setNextReader` in class `Collector`
      Parameters:
        `reader` - next IndexReader

    - #### setScorer

          public void setScorer(Scorer scorer)
                         throws java.io.IOException

      Description copied from class: `Collector`
      Called before successive calls to `Collector.collect(int)`. Implementations that need the score of the current document (passed-in to `Collector.collect(int)`), should save the passed-in Scorer and call scorer.score() when needed.
      Specified by:
        `setScorer` in class `Collector`
      Throws:
        `java.io.IOException`

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