## 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
`protected` `Scorer(Similarity similarity)` Constructs a Scorer.

Method Summary
`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-2011 Apache Software Foundation. All Rights Reserved.