Package org.apache.lucene.search

## Class IndriDisjunctionScorer

- java.lang.Object
- - org.apache.lucene.search.Scorable
  - - org.apache.lucene.search.Scorer
    - - org.apache.lucene.search.IndriScorer
      - - org.apache.lucene.search.IndriDisjunctionScorer

- Direct Known Subclasses:
    `IndriAndScorer`

      public abstract class IndriDisjunctionScorer
      extends IndriScorer

  The Indri implemenation of a disjunction scorer which stores the subscorers for the child queries. The score and smoothingScore methods use the list of all subscorers and not just the matches so that a smoothingScore can be calculated if there is not an exact match.

- - ### 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
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `IndriDisjunctionScorer​(Weight weight, List<Scorer> subScorersList, ScoreMode scoreMode, float boost)` |

  - ### Method Summary

    All Methods Instance Methods Abstract 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.
    `List<Scorer>` | `getSubMatches()` |
    `DocIdSetIterator` | `iterator()` | Return a `DocIdSetIterator` over matching documents.
    `float` | `score()` | Returns the score of the current document matching the query.
    `float` | `smoothingScore​(int docId)` | Returns the smoothing score of the current document matching the query.
    `abstract float` | `smoothingScore​(List<Scorer> subScorers, int docId)` |

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

      `getBoost`

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

      `advanceShallow, getWeight, twoPhaseIterator`

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

      `getChildren, setMinCompetitiveScore`

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

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

- - ### Constructor Detail

    - #### IndriDisjunctionScorer

          protected IndriDisjunctionScorer​(Weight weight,
                                           List<Scorer> subScorersList,
                                           ScoreMode scoreMode,
                                           float boost)

  - ### 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 `IndriScorer`

    - #### 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 `IndriScorer`
      Throws:
        `IOException`

    - #### getSubMatches

          public List<Scorer> getSubMatches()
                                     throws IOException

      Throws:
        `IOException`

    - #### smoothingScore

          public abstract float smoothingScore​(List<Scorer> subScorers,
                                               int docId)
                                        throws IOException

      Throws:
        `IOException`

    - #### 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 `IndriScorer`
      Throws:
        `IOException`

    - #### smoothingScore

          public float smoothingScore​(int docId)
                               throws IOException

      Description copied from class: `Scorable`
      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.

      Specified by:
        `smoothingScore` in class `IndriScorer`
      Throws:
        `IOException`

    - #### docID

          public int docID()

      Description copied from class: `Scorable`
      Returns the doc ID that is currently being scored.
      Specified by:
        `docID` in class `IndriScorer`