org.apache.lucene.search

## Class DisjunctionMaxQuery.DisjunctionMaxWeight

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

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

- - ### Field Summary

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DisjunctionMaxQuery.DisjunctionMaxWeight(IndexSearcher searcher)` Construct the Weight for this Query searched by searcher.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Explanation` | `explain(AtomicReaderContext context, int doc)` Explain the score we computed for doc
    `Query` | `getQuery()` Return our associated DisjunctionMaxQuery
    `float` | `getValueForNormalization()` Compute the sub of squared weights of us applied to our subqueries.
    `void` | `normalize(float norm, float topLevelBoost)` Apply the computed normalization factor to our subqueries
    `Scorer` | `scorer(AtomicReaderContext context, boolean scoreDocsInOrder, boolean topScorer, Bits acceptDocs)` Create the scorer used to score our associated DisjunctionMaxQuery

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

      `scoresDocsOutOfOrder`

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

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

- - ### Field Detail

    - #### weights

          protected ArrayList<Weight> weights

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

  - ### Constructor Detail

    - #### DisjunctionMaxQuery.DisjunctionMaxWeight

          public DisjunctionMaxQuery.DisjunctionMaxWeight(IndexSearcher searcher)
                                                   throws IOException

      Construct the Weight for this Query searched by searcher. Recursively construct subquery weights.
      Throws:
        `IOException`

  - ### Method Detail

    - #### getQuery

          public Query getQuery()

      Return our associated DisjunctionMaxQuery
      Specified by:
        `getQuery` in class `Weight`

    - #### getValueForNormalization

          public float getValueForNormalization()
                                         throws IOException

      Compute the sub of squared weights of us applied to our subqueries. Used for normalization.
      Specified by:
        `getValueForNormalization` in class `Weight`
      Throws:
        `IOException`

    - #### normalize

          public void normalize(float norm,
                       float topLevelBoost)

      Apply the computed normalization factor to our subqueries
      Specified by:
        `normalize` in class `Weight`

    - #### scorer

          public Scorer scorer(AtomicReaderContext context,
                      boolean scoreDocsInOrder,
                      boolean topScorer,
                      Bits acceptDocs)
                        throws IOException

      Create the scorer used to score our associated DisjunctionMaxQuery
      Specified by:
        `scorer` in class `Weight`
      Parameters:
        `context` - the `AtomicReaderContext` for which to return the `Scorer`.
        `scoreDocsInOrder` - specifies whether in-order scoring of documents is required. Note that if set to false (i.e., out-of-order scoring is required), this method can return whatever scoring mode it supports, as every in-order scorer is also an out-of-order one. However, an out-of-order scorer may not support `DocIdSetIterator.nextDoc()` and/or `DocIdSetIterator.advance(int)`, therefore it is recommended to request an in-order scorer if use of these methods is required.
        `topScorer` - if true, `Scorer.score(Collector)` will be called; if false, `DocIdSetIterator.nextDoc()` and/or `DocIdSetIterator.advance(int)` will be called.
        `acceptDocs` - Bits that represent the allowable docs to match (typically deleted docs but possibly filtering other documents)
      Returns:
        a `Scorer` which scores documents in/out-of order.
      Throws:
        `IOException` - if there is a low-level I/O error

    - #### explain

          public Explanation explain(AtomicReaderContext 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

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.