Package org.apache.lucene.search
Class BooleanWeight
- java.lang.Object
-
- org.apache.lucene.search.Weight
-
- org.apache.lucene.search.BooleanWeight
-
- All Implemented Interfaces:
SegmentCacheable
final class BooleanWeight extends Weight
Expert: the Weight for BooleanQuery, used to normalize, score and explain these queries.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
BooleanWeight.WeightedBooleanClause
-
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer
-
-
Field Summary
Fields Modifier and Type Field Description (package private) BooleanQuery
query
(package private) ScoreMode
scoreMode
(package private) Similarity
similarity
The Similarity implementation.(package private) java.util.ArrayList<BooleanWeight.WeightedBooleanClause>
weightedClauses
-
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
-
Constructor Summary
Constructors Constructor Description BooleanWeight(BooleanQuery query, IndexSearcher searcher, ScoreMode scoreMode, float boost)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) BulkScorer
booleanScorer(LeafReaderContext context)
Try to build a boolean scorer for this weight.BulkScorer
bulkScorer(LeafReaderContext context)
Optional method, to return aBulkScorer
to score the query and send hits to aCollector
.(package private) static BulkScorer
disableScoring(BulkScorer scorer)
Explanation
explain(LeafReaderContext context, int doc)
An explanation of the score computation for the named document.void
extractTerms(java.util.Set<Term> terms)
Expert: adds all terms occurring in this query to the terms set.boolean
isCacheable(LeafReaderContext ctx)
Matches
matches(LeafReaderContext context, int doc)
ReturnsMatches
for a specific document, ornull
if the document does not match the parent query A query match that contains no position information (for example, a Point or DocValues query) will returnMatchesUtils.MATCH_WITH_NO_TERMS
(package private) BulkScorer
optionalBulkScorer(LeafReaderContext context)
private BulkScorer
requiredBulkScorer(LeafReaderContext context)
Scorer
scorer(LeafReaderContext context)
Returns aScorer
which can iterate in order over all matching documents and assign them a score.ScorerSupplier
scorerSupplier(LeafReaderContext context)
Optional method.
-
-
-
Field Detail
-
similarity
final Similarity similarity
The Similarity implementation.
-
query
final BooleanQuery query
-
weightedClauses
final java.util.ArrayList<BooleanWeight.WeightedBooleanClause> weightedClauses
-
scoreMode
final ScoreMode scoreMode
-
-
Constructor Detail
-
BooleanWeight
BooleanWeight(BooleanQuery query, IndexSearcher searcher, ScoreMode scoreMode, float boost) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
extractTerms
public void extractTerms(java.util.Set<Term> terms)
Description copied from class:Weight
Expert: adds all terms occurring in this query to the terms set. If theWeight
was created withneedsScores == true
then this method will only extract terms which are used for scoring, otherwise it will extract all terms which are used for matching.- Specified by:
extractTerms
in classWeight
-
explain
public Explanation explain(LeafReaderContext context, int doc) throws java.io.IOException
Description copied from class:Weight
An explanation of the score computation for the named document.- Specified by:
explain
in classWeight
- Parameters:
context
- the readers context to create theExplanation
for.doc
- the document's id relative to the given context's reader- Returns:
- an Explanation for the score
- Throws:
java.io.IOException
- if anIOException
occurs
-
matches
public Matches matches(LeafReaderContext context, int doc) throws java.io.IOException
Description copied from class:Weight
ReturnsMatches
for a specific document, ornull
if the document does not match the parent query A query match that contains no position information (for example, a Point or DocValues query) will returnMatchesUtils.MATCH_WITH_NO_TERMS
-
disableScoring
static BulkScorer disableScoring(BulkScorer scorer)
-
optionalBulkScorer
BulkScorer optionalBulkScorer(LeafReaderContext context) throws java.io.IOException
- Throws:
java.io.IOException
-
requiredBulkScorer
private BulkScorer requiredBulkScorer(LeafReaderContext context) throws java.io.IOException
- Throws:
java.io.IOException
-
booleanScorer
BulkScorer booleanScorer(LeafReaderContext context) throws java.io.IOException
Try to build a boolean scorer for this weight. Returns null ifBooleanScorer
cannot be used.- Throws:
java.io.IOException
-
bulkScorer
public BulkScorer bulkScorer(LeafReaderContext context) throws java.io.IOException
Description copied from class:Weight
Optional method, to return aBulkScorer
to score the query and send hits to aCollector
. Only queries that have a different top-level approach need to override this; the default implementation pulls a normalScorer
and iterates and collects the resulting hits which are not marked as deleted.- Overrides:
bulkScorer
in classWeight
- Parameters:
context
- theLeafReaderContext
for which to return theScorer
.- Returns:
- a
BulkScorer
which scores documents and passes them to a collector. - Throws:
java.io.IOException
- if there is a low-level I/O error
-
scorer
public Scorer scorer(LeafReaderContext context) throws java.io.IOException
Description copied from class:Weight
Returns aScorer
which can iterate in order over all matching documents and assign them a score.NOTE: null can be returned if no documents will be scored by this query.
NOTE: The returned
Scorer
does not haveLeafReader.getLiveDocs()
applied, they need to be checked on top.- Specified by:
scorer
in classWeight
- Parameters:
context
- theLeafReaderContext
for which to return theScorer
.- Returns:
- a
Scorer
which scores documents in/out-of order. - Throws:
java.io.IOException
- if there is a low-level I/O error
-
isCacheable
public boolean isCacheable(LeafReaderContext ctx)
- Returns:
true
if the object can be cached against a given leaf
-
scorerSupplier
public ScorerSupplier scorerSupplier(LeafReaderContext context) throws java.io.IOException
Description copied from class:Weight
Optional method. Get aScorerSupplier
, which allows to know the cost of theScorer
before building it. The default implementation callsWeight.scorer(org.apache.lucene.index.LeafReaderContext)
and builds aScorerSupplier
wrapper around it.- Overrides:
scorerSupplier
in classWeight
- Throws:
java.io.IOException
- See Also:
Weight.scorer(org.apache.lucene.index.LeafReaderContext)
-
-