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.