org.apache.lucene.search
Class Scorer

java.lang.Object
  extended by org.apache.lucene.search.DocIdSetIterator
      extended by 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 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:
IOException

score

public void score(Collector collector)
           throws 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:
IOException

score

protected boolean score(HitCollector hc,
                        int max)
                 throws 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:
IOException

score

protected boolean score(Collector collector,
                        int max,
                        int firstDocID)
                 throws 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:
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, or when called from within Collector.collect(int).

Throws:
IOException

explain

public Explanation explain(int doc)
                    throws 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:
IOException


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