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
`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 and 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
`Explanation` `explain(LeafReaderContext context, int doc)` Explain the score we computed for doc
`void` `extractTerms(Set<Term> terms)` Expert: adds all terms occurring in this query to the terms set.
`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 A query match that contains no position information (for example, a Point or DocValues query) will return `MatchesUtils.MATCH_WITH_NO_TERMS`
`Scorer` `scorer(LeafReaderContext context)` Create the scorer used to score our associated DisjunctionMaxQuery

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

`bulkScorer, getQuery, scorerSupplier`

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

#### extractTerms

    public void extractTerms(Set<Term> terms)

Description copied from class: `Weight`
Expert: adds all terms occurring in this query to the terms set. If the `Weight` was created with `needsScores == true` then this method will only extract terms which are used for scoring, otherwise it will extract all terms which are used for matching.

Specified by:
  `extractTerms` in class `Weight`

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

#### scorer

    public Scorer scorer(LeafReaderContext context)
                  throws IOException

Create the scorer used to score our associated DisjunctionMaxQuery

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