org.apache.lucene.search
Class Scorer

java.lang.Object
  extended by org.apache.lucene.search.DocIdSetIterator
      extended by org.apache.lucene.index.DocsEnum
          extended by org.apache.lucene.search.Scorer
Direct Known Subclasses:
ConstantScoreQuery.ConstantScorer, ScoreCachingWrappingScorer, SpanScorer

public abstract class Scorer
extends DocsEnum

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.


Nested Class Summary
static class Scorer.ChildScorer
          A child Scorer and its relationship to its parent.
 
Field Summary
protected  Weight weight
          the Scorer's parent Weight.
 
Fields inherited from class org.apache.lucene.index.DocsEnum
FLAG_FREQS, FLAG_NONE
 
Fields inherited from class org.apache.lucene.search.DocIdSetIterator
NO_MORE_DOCS
 
Constructor Summary
protected Scorer(Weight weight)
          Constructs a Scorer
 
Method Summary
 Collection<Scorer.ChildScorer> getChildren()
          Returns child sub-scorers
 Weight getWeight()
          returns parent Weight
abstract  float score()
          Returns the score of the current document matching the query.
 void score(Collector collector)
          Scores and collects all matching documents.
 boolean score(Collector collector, int max, int firstDocID)
          Expert: Collects matching documents in a range.
 
Methods inherited from class org.apache.lucene.index.DocsEnum
attributes, freq
 
Methods inherited from class org.apache.lucene.search.DocIdSetIterator
advance, docID, nextDoc
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

weight

protected final Weight weight
the Scorer's parent Weight. in some cases this may be null

Constructor Detail

Scorer

protected Scorer(Weight weight)
Constructs a Scorer

Parameters:
weight - The scorers Weight.
Method Detail

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.
Throws:
IOException

score

public 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.nextDoc() or DocIdSetIterator.advance(int) is called the first time, or when called from within Collector.collect(int).

Throws:
IOException

getWeight

public Weight getWeight()
returns parent Weight

WARNING: This API is experimental and might change in incompatible ways in the next release.

getChildren

public Collection<Scorer.ChildScorer> getChildren()
Returns child sub-scorers

WARNING: This API is experimental and might change in incompatible ways in the next release.


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