org.apache.lucene.search
public abstract class Scorer extends Object
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.
Modifier | Constructor and Description |
---|---|
protected |
Scorer(Similarity similarity)
Constructs a Scorer.
|
Modifier and Type | Method and Description |
---|---|
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.
|
protected Scorer(Similarity similarity)
similarity
- The Similarity
implementation used by this scorer.public Similarity getSimilarity()
public void score(HitCollector hc) throws IOException
hc
- The collector to which all matching documents are passed through
HitCollector.collect(int, float)
.
explain(int)
method should not be used.IOException
protected boolean score(HitCollector hc, int max) throws IOException
next()
must be called once before this method is called
for the first time.hc
- The collector to which all matching documents are passed through
HitCollector.collect(int, float)
.max
- Do not score documents past this.IOException
public abstract boolean next() throws IOException
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.
IOException
BooleanQuery.setAllowDocsOutOfOrder(boolean)
public abstract int doc()
next()
is called the first time.public abstract float score() throws IOException
next()
or skipTo(int)
is called the first time.IOException
public abstract boolean skipTo(int target) throws IOException
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.
target
- The target document number.IOException
BooleanQuery.setAllowDocsOutOfOrder(boolean)
public abstract Explanation explain(int doc) throws IOException
next()
, skipTo(int)
and
score(HitCollector)
methods should not be used.doc
- The document number for the explanation.IOException
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.