org.apache.lucene.search

Class Scorer

public abstract class Scorer extends Object

Expert: Common scoring functionality for different types of queries.
A Scorer either iterates over documents matching a query, or provides an explanation of the score for a query for a given document.
Document scores are computed using a given Similarity implementation.
Constructor Summary
protected Scorer(Similarity similarity)
Constructs a Scorer.
Method Summary
abstract intdoc()
Returns the current document number matching the query.
abstract Explanationexplain(int doc)
Returns an explanation of the score for a document.
SimilaritygetSimilarity()
Returns the Similarity implementation used by this scorer.
abstract booleannext()
Advances to the next document matching the query.
voidscore(HitCollector hc)
Scores and collects all matching documents.
protected booleanscore(HitCollector hc, int max)
Expert: Collects matching documents in a range.
abstract floatscore()
Returns the score of the current document matching the query.
abstract booleanskipTo(int target)
Skips to the first match beyond the current whose document number is greater than or equal to a given target.

Constructor Detail

Scorer

protected Scorer(Similarity similarity)
Constructs a Scorer.

Parameters: similarity The Similarity implementation used by this scorer.

Method Detail

doc

public abstract int doc()
Returns the current document number matching the query. Initially invalid, until {@link #next()} is called the first time.

explain

public abstract Explanation explain(int doc)
Returns an explanation of the score for a document.
When this method is used, the {@link #next()}, {@link #skipTo(int)} and {@link #score(HitCollector)} methods should not be used.

Parameters: doc The document number for the explanation.

getSimilarity

public Similarity getSimilarity()
Returns the Similarity implementation used by this scorer.

next

public abstract boolean next()
Advances to the next document matching the query.

Returns: true iff there is another document matching the query.
When this method is used the {@link #explain(int)} method should not be used.

score

public void score(HitCollector hc)
Scores and collects all matching documents.

Parameters: hc The collector to which all matching documents are passed through {@link HitCollector#collect(int, float)}.
When this method is used the {@link #explain(int)} method should not be used.

score

protected boolean score(HitCollector hc, int max)
Expert: Collects matching documents in a range. Hook for optimization. Note that {@link #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 {@link HitCollector#collect(int, float)}. max Do not score documents past this.

Returns: true if more matching documents may remain.

score

public abstract float score()
Returns the score of the current document matching the query. Initially invalid, until {@link #next()} or {@link #skipTo(int)} is called the first time.

skipTo

public abstract boolean skipTo(int target)
Skips to the first match beyond the current whose document number is greater than or equal to a given target.
When this method is used the {@link #explain(int)} method should not be used.

Parameters: target The target document number.

Returns: true iff there is such a match.

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.

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