Package org.apache.lucene.search

## Class Scorable

- java.lang.Object
- - org.apache.lucene.search.Scorable

- Direct Known Subclasses:
    `FilterScorable`, `ScoreCachingWrappingScorer`, `Scorer`

      public abstract class Scorable
      extends Object

  Allows access to the score of a Query

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `Scorable.ChildScorable` | A child Scorer and its relationship to its parent.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Scorable()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract int` | `docID()` | Returns the doc ID that is currently being scored.
    `Collection<Scorable.ChildScorable>` | `getChildren()` | Returns child sub-scorers positioned on the current document
    `abstract 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`.
    `float` | `smoothingScore​(int docId)` | Returns the smoothing score of the current document matching the query.

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

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

- - ### Constructor Detail

    - #### Scorable

          public Scorable()

  - ### Method Detail

    - #### score

          public abstract float score()
                               throws IOException

      Returns the score of the current document matching the query.
      Throws:
        `IOException`

    - #### smoothingScore

          public float smoothingScore​(int docId)
                               throws IOException

      Returns the smoothing score of the current document matching the query. This score is used when the query/term does not appear in the document, and behaves like an idf. The smoothing score is particularly important when the Scorer returns a product of probabilities so that the document score does not go to zero when one probability is zero. This can return 0 or a smoothing score.

      Smoothing scores are described in many papers, including: Metzler, D. and Croft, W. B. , "Combining the Language Model and Inference Network Approaches to Retrieval," Information Processing and Management Special Issue on Bayesian Networks and Information Retrieval, 40(5), pp.735-750.

      Throws:
        `IOException`

    - #### docID

          public abstract int docID()

      Returns the doc ID that is currently being scored.

    - #### setMinCompetitiveScore

          public void setMinCompetitiveScore​(float minScore)
                                      throws IOException

      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`.

      Throws:
        `IOException`

    - #### getChildren

          public Collection<Scorable.ChildScorable> getChildren()
                                                         throws IOException

      Returns child sub-scorers positioned on the current document
      Throws:
        `IOException`
      WARNING: This API is experimental and might change in incompatible ways in the next release.