org.apache.lucene.search
Class ReqOptSumScorer

java.lang.Object
  extended by org.apache.lucene.search.DocIdSetIterator
      extended by org.apache.lucene.search.Scorer
          extended by org.apache.lucene.search.ReqOptSumScorer

public class ReqOptSumScorer
extends Scorer

A Scorer for queries with a required part and an optional part. Delays skipTo() on the optional part until a score() is needed.
This Scorer implements DocIdSetIterator.skipTo(int).


Constructor Summary
ReqOptSumScorer(Scorer reqScorer, Scorer optScorer)
          Construct a ReqOptScorer.
 
Method Summary
 int doc()
          Returns the current document number.
 Explanation explain(int doc)
          Explain the score of a document.
 boolean next()
          Moves to the next docId in the set.
 float score()
          Returns the score of the current document matching the query.
 boolean skipTo(int target)
          Skips entries to the first beyond the current whose document number is greater than or equal to target.
 
Methods inherited from class org.apache.lucene.search.Scorer
getSimilarity, score, score
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReqOptSumScorer

public ReqOptSumScorer(Scorer reqScorer,
                       Scorer optScorer)
Construct a ReqOptScorer.

Parameters:
reqScorer - The required scorer. This must match.
optScorer - The optional scorer. This is used for scoring only.
Method Detail

next

public boolean next()
             throws IOException
Description copied from class: DocIdSetIterator
Moves to the next docId in the set. Returns true, iff there is such a docId.

Specified by:
next in class DocIdSetIterator
Throws:
IOException

skipTo

public boolean skipTo(int target)
               throws IOException
Description copied from class: DocIdSetIterator
Skips entries to the first beyond the current whose document number is greater than or equal to target.

Returns true iff there is such an entry.

Behaves as if written:

   boolean skipTo(int target) {
     do {
       if (!next())
         return false;
     } while (target > doc());
     return true;
   }
 
Some implementations are considerably more efficient than that.

Specified by:
skipTo in class DocIdSetIterator
Throws:
IOException

doc

public int doc()
Description copied from class: DocIdSetIterator
Returns the current document number.

This is invalid until DocIdSetIterator.next() is called for the first time.

Specified by:
doc in class DocIdSetIterator

score

public float score()
            throws IOException
Returns the score of the current document matching the query. Initially invalid, until next() is called the first time.

Specified by:
score in class Scorer
Returns:
The score of the required scorer, eventually increased by the score of the optional scorer when it also matches the current document.
Throws:
IOException

explain

public Explanation explain(int doc)
                    throws IOException
Explain the score of a document.

Specified by:
explain in class Scorer
Parameters:
doc - The document number for the explanation.
Throws:
IOException
To Do:
Also show the total score. See BooleanScorer.explain() on how to do this.


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