public abstract class FilterWeight extends Weight
FilterWeight
contains another Weight
and implements
all abstract methods by calling the contained weight's method.
Note that FilterWeight
does not override the non-abstract
Weight.bulkScorer(LeafReaderContext)
method and subclasses of
FilterWeight
must provide their bulkScorer implementation
if required.Weight.DefaultBulkScorer, Weight.StartDISIWrapper
Modifier and Type | Field and Description |
---|---|
protected Weight |
in |
parentQuery
Modifier | Constructor and Description |
---|---|
protected |
FilterWeight(Query query,
Weight weight)
Alternative constructor.
|
protected |
FilterWeight(Weight weight)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
Explanation |
explain(LeafReaderContext context,
int doc)
An explanation of the score computation for the named document.
|
void |
extractTerms(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 |
Scorer |
scorer(LeafReaderContext context)
Returns a
Scorer which can iterate in order over all matching
documents and assign them a score. |
bulkScorer, getQuery, scorerSupplier
protected final Weight in
protected FilterWeight(Weight weight)
protected FilterWeight(Query query, Weight weight)
weight
was not obtained
via the Query.createWeight(IndexSearcher, ScoreMode, float)
method of the query
object.public boolean isCacheable(LeafReaderContext ctx)
true
if the object can be cached against a given leafpublic void extractTerms(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 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 readerIOException
- if an IOException
occurspublic Scorer scorer(LeafReaderContext context) throws 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.IOException
- if there is a low-level I/O errorpublic Matches matches(LeafReaderContext context, int doc) throws 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
matches
in class Weight
context
- the reader's context to create the Matches
fordoc
- the document's id relative to the given context's readerIOException
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.