Package org.apache.lucene.search

# Class DisjunctionMaxQuery.DisjunctionMaxWeight

java.lang.Object
org.apache.lucene.search.Weight
org.apache.lucene.search.DisjunctionMaxQuery.DisjunctionMaxWeight

All Implemented Interfaces:
  `SegmentCacheable`

Enclosing class:
  `DisjunctionMaxQuery`

protected class DisjunctionMaxQuery.DisjunctionMaxWeight extends Weight
Expert: the Weight for DisjunctionMaxQuery, used to normalize, score and explain these queries.

NOTE: this API and implementation is subject to change suddenly in the next release.

- ## Nested Class Summary

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

  `Weight.DefaultBulkScorer, Weight.DefaultScorerSupplier`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final ArrayList<Weight>`
  `weights`
  The Weights for our subqueries, in 1-1 correspondence with disjuncts

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

  `parentQuery`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DisjunctionMaxWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)`
  Construct the Weight for this Query searched by searcher.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Explanation`
  `explain(LeafReaderContext context, int doc)`
  Explain the score we computed for doc
  `boolean`
  `isCacheable(LeafReaderContext ctx)`
  `Matches`
  `matches(LeafReaderContext context, int doc)`
  Returns `Matches` for a specific document, or `null` if the document does not match the parent query
  `ScorerSupplier`
  `scorerSupplier(LeafReaderContext context)`
  Get a `ScorerSupplier`, which allows knowing the cost of the `Scorer` before building it.

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

  `bulkScorer, count, getQuery, scorer`

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

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

- ## Field Details

  - ### weights

    protected final ArrayList<Weight> weights
    The Weights for our subqueries, in 1-1 correspondence with disjuncts

- ## Constructor Details

  - ### DisjunctionMaxWeight

    public DisjunctionMaxWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
    Construct the Weight for this Query searched by searcher. Recursively construct subquery weights.
    Throws:
      `IOException`

- ## Method Details

  - ### matches

    public Matches matches(LeafReaderContext context, int doc) throws IOException
    Description copied from class: `Weight`
    Returns `Matches` for a specific document, or `null` if the document does not match the parent query

    A query match that contains no position information (for example, a Point or DocValues query) will return `MatchesUtils.MATCH_WITH_NO_TERMS`

    Overrides:
      `matches` in class `Weight`
    Parameters:
      `context` - the reader's context to create the `Matches` for
      `doc` - the document's id relative to the given context's reader
    Throws:
      `IOException`

  - ### scorerSupplier

    public ScorerSupplier scorerSupplier(LeafReaderContext context) throws IOException
    Description copied from class: `Weight`
    Get a `ScorerSupplier`, which allows knowing the cost of the `Scorer` before building it. A scorer supplier for the same `LeafReaderContext` instance may be requested multiple times as part of a single search call.

    Note: It must return null if the scorer is null.

    Specified by:
      `scorerSupplier` in class `Weight`
    Parameters:
      `context` - the leaf reader context
    Returns:
      a `ScorerSupplier` providing the scorer, or null if scorer is null
    Throws:
      `IOException` - if an IOException occurs
    See Also:
      - `Scorer`
      - `Weight.DefaultScorerSupplier`

  - ### isCacheable

    public boolean isCacheable(LeafReaderContext ctx)
    Returns:
      `true` if the object can be cached against a given leaf

  - ### explain

    public Explanation explain(LeafReaderContext context, int doc) throws IOException
    Explain the score we computed for doc
    Specified by:
      `explain` in class `Weight`
    Parameters:
      `context` - the readers context to create the `Explanation` for.
      `doc` - the document's id relative to the given context's reader
    Returns:
      an Explanation for the score
    Throws:
      `IOException` - if an `IOException` occurs