Class ProfileWeight
- java.lang.Object
-
- org.apache.lucene.search.Weight
-
- org.elasticsearch.search.profile.query.ProfileWeight
-
- All Implemented Interfaces:
SegmentCacheable
public final class ProfileWeight extends Weight
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
-
Constructor Summary
Constructors Constructor Description ProfileWeight(Query query, Weight subQueryWeight, QueryProfileBreakdown profile)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BulkScorerbulkScorer(LeafReaderContext context)Optional method, to return aBulkScorerto score the query and send hits to aCollector.Explanationexplain(LeafReaderContext context, int doc)An explanation of the score computation for the named document.voidextractTerms(Set<Term> set)Expert: adds all terms occurring in this query to the terms set.booleanisCacheable(LeafReaderContext ctx)Scorerscorer(LeafReaderContext context)Returns aScorerwhich can iterate in order over all matching documents and assign them a score.ScorerSupplierscorerSupplier(LeafReaderContext context)Optional method.
-
-
-
Constructor Detail
-
ProfileWeight
public ProfileWeight(Query query, Weight subQueryWeight, QueryProfileBreakdown profile) throws IOException
- Throws:
IOException
-
-
Method Detail
-
scorer
public Scorer scorer(LeafReaderContext context) throws 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:
IOException- if there is a low-level I/O error
-
scorerSupplier
public ScorerSupplier scorerSupplier(LeafReaderContext context) throws IOException
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:
Weight.scorer(org.apache.lucene.index.LeafReaderContext)
-
bulkScorer
public BulkScorer bulkScorer(LeafReaderContext context) throws IOException
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
-
explain
public Explanation explain(LeafReaderContext context, int doc) throws 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:
IOException- if anIOExceptionoccurs
-
extractTerms
public void extractTerms(Set<Term> set)
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. UseQuery.visit(QueryVisitor)withQueryVisitor.termCollector(Set)- Specified by:
extractTermsin classWeight
-
isCacheable
public boolean isCacheable(LeafReaderContext ctx)
- Returns:
trueif the object can be cached against a given leaf
-
-