Package org.apache.lucene.search
Class LRUQueryCache.CachingWrapperWeight
java.lang.Object
org.apache.lucene.search.Weight
org.apache.lucene.search.ConstantScoreWeight
org.apache.lucene.search.LRUQueryCache.CachingWrapperWeight
- All Implemented Interfaces:
SegmentCacheable
- Enclosing class:
LRUQueryCache
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer, Weight.StartDISIWrapper -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Weightprivate final QueryCachingPolicyprivate final AtomicBooleanFields inherited from class org.apache.lucene.search.Weight
parentQuery -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbulkScorer(LeafReaderContext context) Optional method, to return aBulkScorerto score the query and send hits to aCollector.private DocIdSetcache(LeafReaderContext context) private booleancacheEntryHasReasonableWorstCaseSize(int maxDoc) voidextractTerms(Set<Term> terms) Expert: adds all terms occurring in this query to the terms set.booleanmatches(LeafReaderContext context, int doc) ReturnsMatchesfor a specific document, ornullif the document does not match the parent query A query match that contains no position information (for example, a Point or DocValues query) will returnMatchesUtils.MATCH_WITH_NO_TERMSscorer(LeafReaderContext context) Returns aScorerwhich can iterate in order over all matching documents and assign them a score.scorerSupplier(LeafReaderContext context) Optional method.private booleanshouldCache(LeafReaderContext context) Check whether this segment is eligible for caching, regardless of the query.Methods inherited from class org.apache.lucene.search.ConstantScoreWeight
explain, score
-
Field Details
-
in
-
policy
-
used
-
-
Constructor Details
-
CachingWrapperWeight
CachingWrapperWeight(Weight in, QueryCachingPolicy policy)
-
-
Method Details
-
extractTerms
Description copied from class:WeightExpert: adds all terms occurring in this query to the terms set. If theWeightwas created withneedsScores == truethen this method will only extract terms which are used for scoring, otherwise it will extract all terms which are used for matching.- Overrides:
extractTermsin classConstantScoreWeight
-
matches
Description copied from class:WeightReturnsMatchesfor a specific document, ornullif the document does not match the parent query A query match that contains no position information (for example, a Point or DocValues query) will returnMatchesUtils.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
-
cacheEntryHasReasonableWorstCaseSize
private boolean cacheEntryHasReasonableWorstCaseSize(int maxDoc) -
cache
- Throws:
IOException
-
shouldCache
Check whether this segment is eligible for caching, regardless of the query.- Throws:
IOException
-
scorerSupplier
Description copied from class:WeightOptional method. Get aScorerSupplier, which allows to know the cost of theScorerbefore building it. The default implementation callsWeight.scorer(org.apache.lucene.index.LeafReaderContext)and builds aScorerSupplierwrapper around it.- Overrides:
scorerSupplierin classWeight- Throws:
IOException- See Also:
-
scorer
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:
IOException- if there is a low-level I/O error
-
isCacheable
- Returns:
trueif the object can be cached against a given leaf
-
bulkScorer
Description copied from class:WeightOptional method, to return aBulkScorerto score the query and send hits to aCollector. Only queries that have a different top-level approach need to override this; the default implementation pulls a normalScorerand iterates and collects the resulting hits which are not marked as deleted.- Overrides:
bulkScorerin classWeight- Parameters:
context- theLeafReaderContextfor which to return theScorer.- Returns:
- a
BulkScorerwhich scores documents and passes them to a collector. - Throws:
IOException- if there is a low-level I/O error
-