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`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected 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

    All Methods Instance Methods Concrete Methods
    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
    `Scorer` | `scorer​(LeafReaderContext context)` | Returns a `Scorer` which can iterate in order over all matching documents and assign them a score.
    `ScorerSupplier` | `scorerSupplier​(LeafReaderContext context)` | Optional method.

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

      `bulkScorer, count, getQuery`

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

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

- - ### Field Detail

    - #### weights

          protected final ArrayList<Weight> weights

      The Weights for our subqueries, in 1-1 correspondence with disjuncts

  - ### Constructor Detail

    - #### 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 Detail

    - #### 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`
      Optional method. Get a `ScorerSupplier`, which allows to know the cost of the `Scorer` before building it. The default implementation calls `Weight.scorer(org.apache.lucene.index.LeafReaderContext)` and builds a `ScorerSupplier` wrapper around it.
      Overrides:
        `scorerSupplier` in class `Weight`
      Throws:
        `IOException`
      See Also:
        `Weight.scorer(org.apache.lucene.index.LeafReaderContext)`

    - #### scorer

          public Scorer scorer​(LeafReaderContext context)
                        throws IOException

      Description copied from class: `Weight`
      Returns a `Scorer` which can iterate in order over all matching documents and assign them a score.

      NOTE: null can be returned if no documents will be scored by this query.

      NOTE: The returned `Scorer` does not have `LeafReader.getLiveDocs()` applied, they need to be checked on top.

      Specified by:
        `scorer` in class `Weight`
      Parameters:
        `context` - the `LeafReaderContext` for which to return the `Scorer`.
      Returns:
        a `Scorer` which scores documents in/out-of order.
      Throws:
        `IOException` - if there is a low-level I/O error

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