## org.apache.lucene.search
Class ReqOptSumScorer

    java.lang.Object
      org.apache.lucene.search.DocIdSetIterator
          org.apache.lucene.search.Scorer
              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-2009 Apache Software Foundation. All Rights Reserved.