Package org.apache.lucene.search
Class FilterWeight
java.lang.Object
org.apache.lucene.search.Weight
org.apache.lucene.search.FilterWeight
- All Implemented Interfaces:
SegmentCacheable
A
FilterWeight contains another Weight and implements all abstract methods by
calling the contained weight's method.- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer, Weight.DefaultScorerSupplier -
Field Summary
FieldsFields inherited from class org.apache.lucene.search.Weight
parentQuery -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFilterWeight(Query query, Weight weight) Alternative constructor.protectedFilterWeight(Weight weight) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionintcount(LeafReaderContext context) Counts the number of live documents that match a givenWeight.parentQueryin a leaf.explain(LeafReaderContext context, int doc) An explanation of the score computation for the named document.booleanmatches(LeafReaderContext context, int doc) ReturnsMatchesfor a specific document, ornullif the document does not match the parent queryscorerSupplier(LeafReaderContext context) Get aScorerSupplier, which allows knowing the cost of theScorerbefore building it.Methods inherited from class org.apache.lucene.search.Weight
bulkScorer, getQuery, scorer
-
Field Details
-
in
-
-
Constructor Details
-
FilterWeight
Default constructor. -
FilterWeight
Alternative constructor. Use this variant only if theweightwas not obtained via theQuery.createWeight(IndexSearcher, ScoreMode, float)method of thequeryobject.
-
-
Method Details
-
isCacheable
- Returns:
trueif the object can be cached against a given leaf
-
explain
Description copied from class:WeightAn explanation of the score computation for the named document.- Specified by:
explainin classWeight- Parameters:
context- the readers context to create theExplanationfor.doc- the document's id relative to the given context's reader- Returns:
- an Explanation for the score
- Throws:
IOException- if anIOExceptionoccurs
-
matches
Description copied from class:WeightReturnsMatchesfor a specific document, ornullif the document does not match the parent queryA query match that contains no position information (for example, a Point or DocValues query) will return
MatchesUtils.MATCH_WITH_NO_TERMS- Overrides:
matchesin classWeight- Parameters:
context- the reader's context to create theMatchesfordoc- the document's id relative to the given context's reader- Throws:
IOException
-
scorerSupplier
Description copied from class:WeightGet aScorerSupplier, which allows knowing the cost of theScorerbefore building it. A scorer supplier for the sameLeafReaderContextinstance may be requested multiple times as part of a single search call.Note: It must return null if the scorer is null.
- Specified by:
scorerSupplierin classWeight- Parameters:
context- the leaf reader context- Returns:
- a
ScorerSupplierproviding the scorer, or null if scorer is null - Throws:
IOException- if an IOException occurs- See Also:
-
count
Description copied from class:WeightCounts the number of live documents that match a givenWeight.parentQueryin a leaf.The default implementation returns -1 for every query. This indicates that the count could not be computed in sub-linear time.
Specific query classes should override it to provide other accurate sub-linear implementations (that actually return the count). Look at
MatchAllDocsQuery.createWeight(IndexSearcher, ScoreMode, float)for an exampleWe use this property of the function to count hits in
IndexSearcher.count(Query).- Overrides:
countin classWeight- Parameters:
context- theLeafReaderContextfor which to return the count.- Returns:
- integer count of the number of matches
- Throws:
IOException- if there is a low-level I/O error
-