## org.apache.lucene.search
Interface Weight

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  BoostingTermQuery.BoostingTermWeight, ConstantScoreQuery.ConstantWeight, SpanWeight

    public interface Weight

extends Serializable

Expert: Calculate query weights and build query scorers.

The purpose of Weight is to make it so that searching does not modify a Query, so that a Query instance can be reused.
Searcher dependent state of the query should reside in the Weight.
IndexReader dependent state should reside in the Scorer.

A `Weight` is used in the following way:

1. A `Weight` is constructed by a top-level query, given a `Searcher` (`Query.createWeight(Searcher)`).
2. The `sumOfSquaredWeights()` method is called on the `Weight` to compute the query normalization factor `Similarity.queryNorm(float)` of the query clauses contained in the query.
3. The query normalization factor is passed to `normalize(float)`. At this point the weighting is complete.
4. A `Scorer` is constructed by `scorer(IndexReader)`.

Method Summary
`Explanation` `explain(IndexReader reader, int doc)` An explanation of the score computation for the named document.
`Query` `getQuery()` The query that this concerns.
`float` `getValue()` The weight for this query.
`void` `normalize(float norm)` Assigns the query normalization factor to this.
`Scorer` `scorer(IndexReader reader)` Constructs a scorer for this.
`float` `sumOfSquaredWeights()` The sum of squared weights of contained query clauses.

Method Detail

### getQuery

    Query getQuery()

  The query that this concerns.

### getValue

    float getValue()

  The weight for this query.

### sumOfSquaredWeights

    float sumOfSquaredWeights()
                              throws IOException

  The sum of squared weights of contained query clauses.

  Throws:
    `IOException`

### normalize

    void normalize(float norm)

  Assigns the query normalization factor to this.

### scorer

    Scorer scorer(IndexReader reader)
                  throws IOException

  Constructs a scorer for this.

  Throws:
    `IOException`

### explain

    Explanation explain(IndexReader reader,
                        int doc)
                        throws IOException

  An explanation of the score computation for the named document.

  Throws:
    `IOException`

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