## org.apache.lucene.search
Class BooleanQuery.BooleanWeight

    java.lang.Object
      org.apache.lucene.search.Weight
          org.apache.lucene.search.BooleanQuery.BooleanWeight

Enclosing class:
  BooleanQuery

    protected class BooleanQuery.BooleanWeight

extends Weight

Expert: the Weight for BooleanQuery, used to normalize, score and explain these queries.

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

Field Summary
`protected int` `maxCoord`
`protected Similarity` `similarity` The Similarity implementation.
`protected ArrayList<Weight>` `weights`

Constructor Summary
`BooleanQuery.BooleanWeight(IndexSearcher searcher, boolean disableCoord)`

Method Summary
`float` `coord(int overlap, int maxOverlap)`
`Explanation` `explain(AtomicReaderContext context, int doc)` An explanation of the score computation for the named document.
`Query` `getQuery()` The query that this concerns.
`float` `getValueForNormalization()` The value for normalization of contained query clauses (e.g.
`void` `normalize(float norm, float topLevelBoost)` Assigns the query normalization factor and boost from parent queries to this.
`Scorer` `scorer(AtomicReaderContext context, boolean scoreDocsInOrder, boolean topScorer, Bits acceptDocs)` Returns a `Scorer` which scores documents in/out-of order according to `scoreDocsInOrder`.
`boolean` `scoresDocsOutOfOrder()` Returns true iff this implementation scores docs only out of order.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### similarity

    protected Similarity similarity

  The Similarity implementation.

### weights

    protected ArrayList<Weight> weights

### maxCoord

    protected int maxCoord

Constructor Detail

### BooleanQuery.BooleanWeight

    public BooleanQuery.BooleanWeight(IndexSearcher searcher,
                                      boolean disableCoord)
                               throws IOException

Throws:
  `IOException`

Method Detail

### getQuery

    public Query getQuery()

  Description copied from class: `Weight`
  The query that this concerns.

  Specified by:
    `getQuery` in class `Weight`

### getValueForNormalization

    public float getValueForNormalization()
                                   throws IOException

  Description copied from class: `Weight`
  The value for normalization of contained query clauses (e.g. sum of squared weights).

  Specified by:
    `getValueForNormalization` in class `Weight`
  Throws:
    `IOException`

### coord

    public float coord(int overlap,
                       int maxOverlap)

### normalize

    public void normalize(float norm,
                          float topLevelBoost)

  Description copied from class: `Weight`
  Assigns the query normalization factor and boost from parent queries to this.

  Specified by:
    `normalize` in class `Weight`

### explain

    public Explanation explain(AtomicReaderContext context,
                               int doc)
                        throws IOException

  Description copied from class: `Weight`
  An explanation of the score computation for the named document.

  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

### scorer

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

  Description copied from class: `Weight`
  Returns a `Scorer` which scores documents in/out-of order according to `scoreDocsInOrder`.

  NOTE: even if `scoreDocsInOrder` is false, it is recommended to check whether the returned `Scorer` indeed scores documents out of order (i.e., call `Weight.scoresDocsOutOfOrder()`), as some `Scorer` implementations will always return documents in-order.
  NOTE: null can be returned if no documents will be scored by this query.

  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

### scoresDocsOutOfOrder

    public boolean scoresDocsOutOfOrder()

  Description copied from class: `Weight`
  Returns true iff this implementation scores docs only out of order. This method is used in conjunction with `Collector`'s `acceptsDocsOutOfOrder` and `Weight.scorer(AtomicReaderContext, boolean, boolean, Bits)` to create a matching `Scorer` instance for a given `Collector`, or vice versa.

  NOTE: the default implementation returns `false`, i.e. the `Scorer` scores documents in-order.

  Overrides:
    `scoresDocsOutOfOrder` in class `Weight`

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