## org.apache.lucene.search
Class Scorer

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

Direct Known Subclasses:
  ConstantScoreQuery.ConstantScorer, ReqExclScorer, ReqOptSumScorer, SpanScorer

    public abstract class Scorer

extends DocIdSetIterator

Expert: Common scoring functionality for different types of queries.

A `Scorer` either iterates over documents matching a query in increasing order of doc Id, or provides an explanation of the score for a query for a given document.

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

See Also:
  `BooleanQuery.setAllowDocsOutOfOrder(boolean)`

Constructor Summary
`protected` `Scorer(Similarity similarity)` Constructs a Scorer.

Method Summary
`abstract Explanation` `explain(int doc)` Returns an explanation of the score for a document.
`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(HitCollector hc)` Scores and collects all matching documents.
`protected boolean` `score(HitCollector hc, int max)` Expert: Collects matching documents in a range.

Methods inherited from class org.apache.lucene.search.DocIdSetIterator
`doc, next, 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 IOException

  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:
    `IOException`

### score

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

  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:
    `IOException`

### score

    public abstract float score()
                         throws 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.

  Throws:
    `IOException`

### explain

    public abstract Explanation explain(int doc)
                                 throws IOException

  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:
    `IOException`

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