final class BooleanWeight extends Weight
Weight.DefaultBulkScorer
Modifier and Type | Field and Description |
---|---|
(package private) BooleanQuery |
query |
(package private) ScoreMode |
scoreMode |
(package private) Similarity |
similarity
The Similarity implementation.
|
(package private) java.util.ArrayList<Weight> |
weights |
parentQuery
Constructor and Description |
---|
BooleanWeight(BooleanQuery query,
IndexSearcher searcher,
ScoreMode scoreMode,
float boost) |
Modifier and Type | Method and Description |
---|---|
(package private) BulkScorer |
booleanScorer(LeafReaderContext context)
Try to build a boolean scorer for this weight.
|
BulkScorer |
bulkScorer(LeafReaderContext context)
Optional method, to return a
BulkScorer to
score the query and send hits to a Collector . |
(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)
Returns
Matches for a specific document, or null 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 return MatchesUtils.MATCH_WITH_NO_TERMS |
(package private) BulkScorer |
optionalBulkScorer(LeafReaderContext context) |
private BulkScorer |
requiredBulkScorer(LeafReaderContext context) |
Scorer |
scorer(LeafReaderContext context)
Returns a
Scorer which can iterate in order over all matching
documents and assign them a score. |
ScorerSupplier |
scorerSupplier(LeafReaderContext context)
Optional method.
|
final Similarity similarity
final BooleanQuery query
final java.util.ArrayList<Weight> weights
final ScoreMode scoreMode
BooleanWeight(BooleanQuery query, IndexSearcher searcher, ScoreMode scoreMode, float boost) throws java.io.IOException
java.io.IOException
public void extractTerms(java.util.Set<Term> terms)
Weight
Weight
was created with needsScores == true
then this
method will only extract terms which are used for scoring, otherwise it
will extract all terms which are used for matching.extractTerms
in class Weight
public Explanation explain(LeafReaderContext context, int doc) throws java.io.IOException
Weight
explain
in class Weight
context
- the readers context to create the Explanation
for.doc
- the document's id relative to the given context's readerjava.io.IOException
- if an IOException
occurspublic Matches matches(LeafReaderContext context, int doc) throws java.io.IOException
Weight
Matches
for a specific document, or null
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 return MatchesUtils.MATCH_WITH_NO_TERMS
static BulkScorer disableScoring(BulkScorer scorer)
BulkScorer optionalBulkScorer(LeafReaderContext context) throws java.io.IOException
java.io.IOException
private BulkScorer requiredBulkScorer(LeafReaderContext context) throws java.io.IOException
java.io.IOException
BulkScorer booleanScorer(LeafReaderContext context) throws java.io.IOException
BooleanScorer
cannot be used.java.io.IOException
public BulkScorer bulkScorer(LeafReaderContext context) throws java.io.IOException
Weight
BulkScorer
to
score the query and send hits to a Collector
.
Only queries that have a different top-level approach
need to override this; the default implementation
pulls a normal Scorer
and iterates and
collects the resulting hits which are not marked as deleted.bulkScorer
in class Weight
context
- the LeafReaderContext
for which to return the Scorer
.BulkScorer
which scores documents and
passes them to a collector.java.io.IOException
- if there is a low-level I/O errorpublic Scorer scorer(LeafReaderContext context) throws java.io.IOException
Weight
Scorer
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 have
LeafReader.getLiveDocs()
applied, they need to be checked on top.
scorer
in class Weight
context
- the LeafReaderContext
for which to return the Scorer
.Scorer
which scores documents in/out-of order.java.io.IOException
- if there is a low-level I/O errorpublic boolean isCacheable(LeafReaderContext ctx)
true
if the object can be cached against a given leafpublic ScorerSupplier scorerSupplier(LeafReaderContext context) throws java.io.IOException
Weight
ScorerSupplier
, which allows to know the cost of the Scorer
before building it. The default implementation calls Weight.scorer(org.apache.lucene.index.LeafReaderContext)
and
builds a ScorerSupplier
wrapper around it.scorerSupplier
in class Weight
java.io.IOException
Weight.scorer(org.apache.lucene.index.LeafReaderContext)