org.apache.lucene.search

## Class Scorer

- java.lang.Object
- - org.apache.lucene.search.DocIdSetIterator
  - - org.apache.lucene.search.Scorer

- Direct Known Subclasses:
    ConstantScoreQuery.ConstantScorer, ScoreCachingWrappingScorer, SpanScorer

      public abstract class Scorer
      extends DocIdSetIterator

  Expert: Common scoring functionality for different types of queries.

  A `Scorer` iterates over documents matching a query in increasing order of doc Id.

  Document scores are computed using a given `Similarity` implementation.

  NOTE: The values Float.Nan, Float.NEGATIVE_INFINITY and Float.POSITIVE_INFINITY are not valid scores. Certain collectors (eg `TopScoreDocCollector`) will not properly collect hits with these scores.

  See Also:
    `BooleanQuery.setAllowDocsOutOfOrder(boolean)`

- - ### Field Summary

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

      `NO_MORE_DOCS`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Scorer(Similarity similarity)` Constructs a Scorer.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `Explanation` | `explain(int doc)` Deprecated. Please use `IndexSearcher.explain(org.apache.lucene.search.Weight, int)` or `Weight.explain(org.apache.lucene.index.IndexReader, int)` instead.
    `Similarity` | `getSimilarity()` Returns the Similarity implementation used by this scorer.
    `abstract float` | `score()` Returns the score of the current document matching the query.
    `void` | `score(Collector collector)` Scores and collects all matching documents.
    `protected boolean` | `score(Collector collector, int max, int firstDocID)` Expert: Collects matching documents in a range.
    `void` | `score(HitCollector hc)` Deprecated. use `score(Collector)` instead.
    `protected boolean` | `score(HitCollector hc, int max)` Deprecated. use `score(Collector, int, int)` instead.

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

      `advance, doc, docID, next, nextDoc, skipTo`

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

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

- - ### Constructor Detail

    - #### Scorer

          protected Scorer(Similarity similarity)

      Constructs a Scorer.
      Parameters:
        `similarity` - The `Similarity` implementation used by this scorer.

  - ### Method Detail

    - #### getSimilarity

          public Similarity getSimilarity()

      Returns the Similarity implementation used by this scorer.

    - #### score

          public void score(HitCollector hc)
                     throws java.io.IOException

      Deprecated. use `score(Collector)` instead.
      Scores and collects all matching documents.
      Parameters:
        `hc` - The collector to which all matching documents are passed through `HitCollector.collect(int, float)`.
        When this method is used the `explain(int)` method should not be used.
      Throws:
        `java.io.IOException`

    - #### score

          public void score(Collector collector)
                     throws java.io.IOException

      Scores and collects all matching documents.
      Parameters:
        `collector` - The collector to which all matching documents are passed.
        When this method is used the `explain(int)` method should not be used.
      Throws:
        `java.io.IOException`

    - #### score

          protected boolean score(HitCollector hc,
                                  int max)
                           throws java.io.IOException

      Deprecated. use `score(Collector, int, int)` instead.
      Expert: Collects matching documents in a range. Hook for optimization. Note that `DocIdSetIterator.next()` must be called once before this method is called for the first time.
      Parameters:
        `hc` - The collector to which all matching documents are passed through `HitCollector.collect(int, float)`.
        `max` - Do not score documents past this.
      Returns:
        true if more matching documents may remain.
      Throws:
        `java.io.IOException`

    - #### score

          protected boolean score(Collector collector,
                                  int max,
                                  int firstDocID)
                           throws java.io.IOException

      Expert: Collects matching documents in a range. Hook for optimization. Note, `firstDocID` is added to ensure that `DocIdSetIterator.nextDoc()` was called before this method.
      Parameters:
        `collector` - The collector to which all matching documents are passed.
        `max` - Do not score documents past this.
        `firstDocID` - The first document ID (ensures `DocIdSetIterator.nextDoc()` is called before this method.
      Returns:
        true if more matching documents may remain.
      Throws:
        `java.io.IOException`

    - #### score

          public abstract float score()
                               throws java.io.IOException

      Returns the score of the current document matching the query. Initially invalid, until `DocIdSetIterator.next()` or `DocIdSetIterator.skipTo(int)` is called the first time, or when called from within `Collector.collect(int)`.
      Throws:
        `java.io.IOException`

    - #### explain

          public Explanation explain(int doc)
                              throws java.io.IOException

      Deprecated. Please use `IndexSearcher.explain(org.apache.lucene.search.Weight, int)` or `Weight.explain(org.apache.lucene.index.IndexReader, int)` instead.
      Returns an explanation of the score for a document.
      When this method is used, the `DocIdSetIterator.next()`, `DocIdSetIterator.skipTo(int)` and `score(HitCollector)` methods should not be used.
      Parameters:
        `doc` - The document number for the explanation.
      Throws:
        `java.io.IOException`

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