Package org.apache.lucene.search
Class BooleanQuery.BooleanWeight
- java.lang.Object
-
- org.apache.lucene.search.Weight
-
- org.apache.lucene.search.BooleanQuery.BooleanWeight
-
- All Implemented Interfaces:
Serializable
- 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.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int
maxCoord
protected Similarity
similarity
The Similarity implementation.protected ArrayList<Weight>
weights
-
Constructor Summary
Constructors Constructor Description BooleanWeight(Searcher searcher, boolean disableCoord)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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, boolean scoreDocsInOrder, boolean topScorer)
Returns aScorer
which scores documents in/out-of order according toscoreDocsInOrder
.boolean
scoresDocsOutOfOrder()
Returns true iff this implementation scores docs only out of order.float
sumOfSquaredWeights()
The sum of squared weights of contained query clauses.
-
-
-
Field Detail
-
similarity
protected Similarity similarity
The Similarity implementation.
-
maxCoord
protected int maxCoord
-
-
Constructor Detail
-
BooleanWeight
public BooleanWeight(Searcher searcher, boolean disableCoord) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getQuery
public Query getQuery()
Description copied from class:Weight
The query that this concerns.
-
getValue
public float getValue()
Description copied from class:Weight
The weight for this query.
-
sumOfSquaredWeights
public float sumOfSquaredWeights() throws IOException
Description copied from class:Weight
The sum of squared weights of contained query clauses.- Specified by:
sumOfSquaredWeights
in classWeight
- Throws:
IOException
-
normalize
public void normalize(float norm)
Description copied from class:Weight
Assigns the query normalization factor to this.
-
explain
public Explanation explain(IndexReader reader, int doc) throws IOException
Description copied from class:Weight
An explanation of the score computation for the named document.- Specified by:
explain
in classWeight
- Parameters:
reader
- sub-reader containing the give doc- Returns:
- an Explanation for the score
- Throws:
IOException
-
scorer
public Scorer scorer(IndexReader reader, boolean scoreDocsInOrder, boolean topScorer) throws IOException
Description copied from class:Weight
Returns aScorer
which scores documents in/out-of order according toscoreDocsInOrder
.NOTE: even if
scoreDocsInOrder
is false, it is recommended to check whether the returnedScorer
indeed scores documents out of order (i.e., callWeight.scoresDocsOutOfOrder()
), as someScorer
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 classWeight
- Parameters:
reader
- theIndexReader
for which to return theScorer
.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 supportDocIdSetIterator.nextDoc()
and/orDocIdSetIterator.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/orDocIdSetIterator.advance(int)
will be called.- Returns:
- a
Scorer
which scores documents in/out-of order. - Throws:
IOException
-
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 withCollector
'sacceptsDocsOutOfOrder
andWeight.scorer(org.apache.lucene.index.IndexReader, boolean, boolean)
to create a matchingScorer
instance for a givenCollector
, or vice versa.NOTE: the default implementation returns
false
, i.e. theScorer
scores documents in-order.- Overrides:
scoresDocsOutOfOrder
in classWeight
-
-