Module org.apache.lucene.queries
Class FunctionScoreQuery.FunctionScoreWeight
java.lang.Object
org.apache.lucene.search.Weight
org.apache.lucene.queries.function.FunctionScoreQuery.FunctionScoreWeight
- All Implemented Interfaces:
SegmentCacheable
- Enclosing class:
FunctionScoreQuery
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer, Weight.DefaultScorerSupplier
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final float
(package private) final Weight
(package private) final DoubleValuesSource
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
Constructor Summary
ConstructorsConstructorDescriptionFunctionScoreWeight
(Query query, Weight inner, DoubleValuesSource valueSource, float boost) -
Method Summary
Modifier and TypeMethodDescriptionint
count
(LeafReaderContext context) Counts the number of live documents that match a givenWeight.parentQuery
in a leaf.explain
(LeafReaderContext context, int doc) An explanation of the score computation for the named document.boolean
matches
(LeafReaderContext context, int doc) ReturnsMatches
for a specific document, ornull
if the document does not match the parent queryscorerSupplier
(LeafReaderContext context) Get aScorerSupplier
, which allows knowing the cost of theScorer
before building it.Methods inherited from class org.apache.lucene.search.Weight
bulkScorer, getQuery, scorer
-
Field Details
-
inner
-
valueSource
-
boost
final float boost
-
-
Constructor Details
-
FunctionScoreWeight
FunctionScoreWeight(Query query, Weight inner, DoubleValuesSource valueSource, float boost)
-
-
Method Details
-
matches
Description copied from class:Weight
ReturnsMatches
for a specific document, ornull
if 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:
matches
in classWeight
- Parameters:
context
- the reader's context to create theMatches
fordoc
- the document's id relative to the given context's reader- Throws:
IOException
-
explain
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:
IOException
- if anIOException
occurs
-
scorerSupplier
Description copied from class:Weight
Get aScorerSupplier
, which allows knowing the cost of theScorer
before building it. A scorer supplier for the sameLeafReaderContext
instance may be requested multiple times as part of a single search call.Note: It must return null if the scorer is null.
- Specified by:
scorerSupplier
in classWeight
- Parameters:
context
- the leaf reader context- Returns:
- a
ScorerSupplier
providing the scorer, or null if scorer is null - Throws:
IOException
- if an IOException occurs- See Also:
-
count
Description copied from class:Weight
Counts the number of live documents that match a givenWeight.parentQuery
in 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:
count
in classWeight
- Parameters:
context
- theLeafReaderContext
for which to return the count.- Returns:
- integer count of the number of matches
- Throws:
IOException
- if there is a low-level I/O error
-
isCacheable
- Returns:
true
if the object can be cached against a given leaf
-