IndriDisjunctionScorer (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.search, class: IndriDisjunctionScorer

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`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `IndriDisjunctionScorer(List<Scorer> subScorersList, ScoreMode scoreMode, float boost)`

- ## Method Summary

  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, nextDocsAndScores, 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 Details

  - ### IndriDisjunctionScorer

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

- ## Method Details

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