org.apache.lucene.search
Interface Weight
- Serializable
- ConstantScoreQuery.ConstantWeight
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:
- A
Weight
is constructed by a top-level query,
given a Searcher
(Query.createWeight(Searcher)
).
- 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.
- The query normalization factor is passed to
normalize(float)
.
At this point the weighting is complete.
- A
Scorer
is constructed by scorer(IndexReader)
.
explain
public Explanation explain(IndexReader reader,
int doc)
throws IOException
An explanation of the score computation for the named document.
getQuery
public Query getQuery()
The query that this concerns.
getValue
public float getValue()
The weight for this query.
normalize
public void normalize(float norm)
Assigns the query normalization factor to this.
scorer
public Scorer scorer(IndexReader reader)
throws IOException
Constructs a scorer for this.
sumOfSquaredWeights
public float sumOfSquaredWeights()
throws IOException
The sum of squared weights of contained query clauses.
Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.