org.apache.lucene.search

## Class ConstantScoreScorer

- java.lang.Object
- - org.apache.lucene.search.Scorer
  - - org.apache.lucene.search.ConstantScoreScorer

    public final class ConstantScoreScorer
    extends Scorer

A constant-scoring `Scorer`.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.lucene.search.Scorer

`Scorer.ChildScorer`

### Field Summary

### Fields inherited from class org.apache.lucene.search.Scorer

`weight`

### Constructor Summary

Constructors
Constructor and Description
`ConstantScoreScorer(Weight weight, float score, DocIdSetIterator disi)` Constructor based on a `DocIdSetIterator` which will be used to drive iteration.
`ConstantScoreScorer(Weight weight, float score, TwoPhaseIterator twoPhaseIterator)` Constructor based on a `TwoPhaseIterator`.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `docID()` Returns the doc ID that is currently being scored.
`DocIdSetIterator` `iterator()` Return a `DocIdSetIterator` over matching documents.
`float` `score()` Returns the score of the current document matching the query.
`TwoPhaseIterator` `twoPhaseIterator()` Optional method: Return a `TwoPhaseIterator` view of this `Scorer`.

### Methods inherited from class org.apache.lucene.search.Scorer

`getChildren, getWeight`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ConstantScoreScorer

    public ConstantScoreScorer(Weight weight,
                               float score,
                               DocIdSetIterator disi)

Constructor based on a `DocIdSetIterator` which will be used to drive iteration. Two phase iteration will not be supported.

Parameters:
  `weight` - the parent weight
  `score` - the score to return on each document
  `disi` - the iterator that defines matching documents

#### ConstantScoreScorer

    public ConstantScoreScorer(Weight weight,
                               float score,
                               TwoPhaseIterator twoPhaseIterator)

Constructor based on a `TwoPhaseIterator`. In that case the `Scorer` will support two-phase iteration.

Parameters:
  `weight` - the parent weight
  `score` - the score to return on each document
  `twoPhaseIterator` - the iterator that defines matching documents

### Method Detail

#### iterator

    public DocIdSetIterator iterator()

Description copied from class: `Scorer`
Return a `DocIdSetIterator` over matching documents. The returned iterator will either be positioned on `-1` if no documents have been scored yet, `DocIdSetIterator.NO_MORE_DOCS` if all documents have been scored already, or the last document id that has been scored otherwise. The returned iterator is a view: calling this method several times will return iterators that have the same state.

Specified by:
  `iterator` in class `Scorer`

#### twoPhaseIterator

    public TwoPhaseIterator twoPhaseIterator()

Description copied from class: `Scorer`
Optional method: Return a `TwoPhaseIterator` view of this `Scorer`. A return value of `null` indicates that two-phase iteration is not supported. Note that the returned `TwoPhaseIterator`'s `approximation` must advance synchronously with the `Scorer.iterator()`: advancing the approximation must advance the iterator and vice-versa. Implementing this method is typically useful on `Scorer`s that have a high per-document overhead in order to confirm matches. The default implementation returns `null`.

Overrides:
  `twoPhaseIterator` in class `Scorer`

#### docID

    public int docID()

Description copied from class: `Scorer`
Returns the doc ID that is currently being scored. This will return `-1` if the `Scorer.iterator()` is not positioned or `DocIdSetIterator.NO_MORE_DOCS` if it has been entirely consumed.

Specified by:
  `docID` in class `Scorer`
See Also:
  `DocIdSetIterator.docID()`

#### score

    public float score()
                throws IOException

Description copied from class: `Scorer`
Returns the score of the current document matching the query. Initially invalid, until `DocIdSetIterator.nextDoc()` or `DocIdSetIterator.advance(int)` is called on the `Scorer.iterator()` the first time, or when called from within `LeafCollector.collect(int)`.

Specified by:
  `score` in class `Scorer`
Throws:
  `IOException`