Package org.apache.lucene.search

## Class ConstantScoreScorer

- java.lang.Object
- - org.apache.lucene.search.Scorable
  - - 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.Scorable

      `Scorable.ChildScorable`

  - ### Field Summary

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

      `weight`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `docID()` | Returns the doc ID that is currently being scored.
    `float` | `getMaxScore​(int upTo)` | Return the maximum score that documents between the last `target` that this iterator was `shallow-advanced` to included and `upTo` included.
    `DocIdSetIterator` | `iterator()` | Return a `DocIdSetIterator` over matching documents.
    `float` | `score()` | Returns the score of the current document matching the query.
    `void` | `setMinCompetitiveScore​(float minScore)` | Optional method: Tell the scorer that its iterator may safely ignore all documents whose score is less than the given `minScore`.
    `TwoPhaseIterator` | `twoPhaseIterator()` | Optional method: Return a `TwoPhaseIterator` view of this `Scorer`.

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

      `advanceShallow, getWeight`

    - ### Methods inherited from class org.apache.lucene.search.Scorable

      `getChildren, smoothingScore`

    - ### 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,
                                     ScoreMode scoreMode,
                                     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
        `scoreMode` - the score mode
        `disi` - the iterator that defines matching documents

    - #### ConstantScoreScorer

          public ConstantScoreScorer​(Weight weight,
                                     float score,
                                     ScoreMode scoreMode,
                                     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
        `scoreMode` - the score mode
        `twoPhaseIterator` - the iterator that defines matching documents

  - ### Method Detail

    - #### getMaxScore

          public float getMaxScore​(int upTo)
                            throws IOException

      Description copied from class: `Scorer`
      Return the maximum score that documents between the last `target` that this iterator was `shallow-advanced` to included and `upTo` included.
      Specified by:
        `getMaxScore` in class `Scorer`
      Throws:
        `IOException`

    - #### setMinCompetitiveScore

          public void setMinCompetitiveScore​(float minScore)
                                      throws IOException

      Description copied from class: `Scorable`
      Optional method: Tell the scorer that its iterator may safely ignore all documents whose score is less than the given `minScore`. This is a no-op by default.

      This method may only be called from collectors that use `ScoreMode.TOP_SCORES`, and successive calls may only set increasing values of `minScore`.

      Overrides:
        `setMinCompetitiveScore` in class `Scorable`
      Throws:
        `IOException`

    - #### 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: `Scorable`
      Returns the doc ID that is currently being scored.
      Specified by:
        `docID` in class `Scorable`

    - #### score

          public float score()
                      throws IOException

      Description copied from class: `Scorable`
      Returns the score of the current document matching the query.
      Specified by:
        `score` in class `Scorable`
      Throws:
        `IOException`