## org.apache.lucene.search
Class Scorer

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

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

    public abstract class Scorer

extends Object

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 int` `doc()` Returns the current document number matching the query.
`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 boolean` `next()` Advances to the document matching this Scorer with the lowest doc Id greater than the current value of `doc()` (or to the matching document with the lowest doc Id if next has never been called on 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.
`abstract boolean` `skipTo(int target)` Skips to the document matching this Scorer with the lowest doc Id greater than or equal to a given target.

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

### next

    public abstract boolean next()
                          throws IOException

  Advances to the document matching this Scorer with the lowest doc Id greater than the current value of `doc()` (or to the matching document with the lowest doc Id if next has never been called on this Scorer).

  When this method is used the `explain(int)` method should not be used.

  Returns:
    true iff there is another document matching the query.
  Throws:
    `IOException`
  See Also:
    `BooleanQuery.setAllowDocsOutOfOrder(boolean)`

### doc

    public abstract int doc()

  Returns the current document number matching the query. Initially invalid, until `next()` is called the first time.

### score

    public abstract float score()
                         throws IOException

  Returns the score of the current document matching the query. Initially invalid, until `next()` or `skipTo(int)` is called the first time.

  Throws:
    `IOException`

### skipTo

    public abstract boolean skipTo(int target)
                            throws IOException

  Skips to the document matching this Scorer with the lowest doc Id greater than or equal to a given target.

  The behavior of this method is undefined if the target specified is less than or equal to the current value of `doc()`.

  Behaves as if written:

         boolean skipTo(int target) {
           do {
             if (!next())
                   return false;
           } while (target > doc());
           return true;
         }

  Most implementations are considerably more efficient than that.

  When this method is used the `explain(int)` method should not be used.

  Parameters:
    `target` - The target document number.
  Returns:
    true iff there is such a match.
  Throws:
    `IOException`
  See Also:
    `BooleanQuery.setAllowDocsOutOfOrder(boolean)`

### explain

    public abstract Explanation explain(int doc)
                                 throws IOException

  Returns an explanation of the score for a document.
  When this method is used, the `next()`, `skipTo(int)` and `score(HitCollector)` methods should not be used.

  Parameters:
    `doc` - The document number for the explanation.
  Throws:
    `IOException`

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