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
private static class FunctionScoreQuery.FunctionScoreWeight extends Weight
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer
-
-
Field Summary
Fields Modifier and Type Field Description (package private) floatboost(package private) Weightinner(package private) DoubleValuesSourcevalueSource-
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
-
Constructor Summary
Constructors Constructor Description FunctionScoreWeight(Query query, Weight inner, DoubleValuesSource valueSource, float boost)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcount(LeafReaderContext context)Counts the number of live documents that match a givenWeight.parentQueryin a leaf.Explanationexplain(LeafReaderContext context, int doc)An explanation of the score computation for the named document.booleanisCacheable(LeafReaderContext ctx)Matchesmatches(LeafReaderContext context, int doc)ReturnsMatchesfor a specific document, ornullif the document does not match the parent queryScorerscorer(LeafReaderContext context)Returns aScorerwhich can iterate in order over all matching documents and assign them a score.-
Methods inherited from class org.apache.lucene.search.Weight
bulkScorer, getQuery, scorerSupplier
-
-
-
-
Field Detail
-
inner
final Weight inner
-
valueSource
final DoubleValuesSource valueSource
-
boost
final float boost
-
-
Constructor Detail
-
FunctionScoreWeight
FunctionScoreWeight(Query query, Weight inner, DoubleValuesSource valueSource, float boost)
-
-
Method Detail
-
matches
public Matches matches(LeafReaderContext context, int doc) throws java.io.IOException
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
-
explain
public Explanation explain(LeafReaderContext context, int doc) throws java.io.IOException
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:
java.io.IOException- if anIOExceptionoccurs
-
scorer
public Scorer scorer(LeafReaderContext context) throws java.io.IOException
Description copied from class:WeightReturns aScorerwhich 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
Scorerdoes not haveLeafReader.getLiveDocs()applied, they need to be checked on top.- Specified by:
scorerin classWeight- Parameters:
context- theLeafReaderContextfor which to return theScorer.- Returns:
- a
Scorerwhich scores documents in/out-of order. - Throws:
java.io.IOException- if there is a low-level I/O error
-
count
public int count(LeafReaderContext context) throws java.io.IOException
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:
java.io.IOException- if there is a low-level I/O error
-
isCacheable
public boolean isCacheable(LeafReaderContext ctx)
- Returns:
trueif the object can be cached against a given leaf
-
-