- All Implemented Interfaces:
SegmentCacheable
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final BooleanQuery
(package private) final ScoreMode
(package private) final Similarity
The Similarity implementation.(package private) final ArrayList<BooleanWeight.WeightedBooleanClause>
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
Constructor Summary
ConstructorsConstructorDescriptionBooleanWeight
(BooleanQuery query, IndexSearcher searcher, ScoreMode scoreMode, float boost) -
Method Summary
Modifier and TypeMethodDescription(package private) BulkScorer
booleanScorer
(LeafReaderContext context) Try to build a boolean scorer for this weight.bulkScorer
(LeafReaderContext context) Optional method, to return aBulkScorer
to score the query and send hits to aCollector
.int
count
(LeafReaderContext context) Counts the number of live documents that match a givenWeight.parentQuery
in a leaf.(package private) static BulkScorer
disableScoring
(BulkScorer scorer) 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 queryprivate int
optCount
(LeafReaderContext context, BooleanClause.Occur occur) Return the number of matches of optional clauses, or -1 if unknown, or 0 if there are no optional clauses.(package private) BulkScorer
optionalBulkScorer
(LeafReaderContext context) private int
reqCount
(LeafReaderContext context) Return the number of matches of required clauses, or -1 if unknown, or numDocs if there are no required clauses.private BulkScorer
requiredBulkScorer
(LeafReaderContext context) scorer
(LeafReaderContext context) Returns aScorer
which can iterate in order over all matching documents and assign them a score.scorerSupplier
(LeafReaderContext context) Optional method.
-
Field Details
-
similarity
The Similarity implementation. -
query
-
weightedClauses
-
scoreMode
-
-
Constructor Details
-
BooleanWeight
BooleanWeight(BooleanQuery query, IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException - Throws:
IOException
-
-
Method Details
-
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
-
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
-
disableScoring
-
optionalBulkScorer
- Throws:
IOException
-
requiredBulkScorer
- Throws:
IOException
-
booleanScorer
Try to build a boolean scorer for this weight. Returns null ifBooleanScorer
cannot be used.- Throws:
IOException
-
bulkScorer
Description copied from class:Weight
Optional method, to return aBulkScorer
to 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 normalScorer
and iterates and collects the resulting hits which are not marked as deleted.- Overrides:
bulkScorer
in classWeight
- Parameters:
context
- theLeafReaderContext
for which to return theScorer
.- Returns:
- a
BulkScorer
which scores documents and passes them to a collector. - Throws:
IOException
- if there is a low-level I/O error
-
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
-
reqCount
Return the number of matches of required clauses, or -1 if unknown, or numDocs if there are no required clauses.- Throws:
IOException
-
optCount
Return the number of matches of optional clauses, or -1 if unknown, or 0 if there are no optional clauses.- Throws:
IOException
-
scorer
Description copied from class:Weight
Returns aScorer
which 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
Scorer
does not haveLeafReader.getLiveDocs()
applied, they need to be checked on top.- Specified by:
scorer
in classWeight
- Parameters:
context
- theLeafReaderContext
for which to return theScorer
.- Returns:
- a
Scorer
which scores documents in/out-of order. - Throws:
IOException
- if there is a low-level I/O error
-
isCacheable
- Returns:
true
if the object can be cached against a given leaf
-
scorerSupplier
Description copied from class:Weight
Optional method. Get aScorerSupplier
, which allows to know the cost of theScorer
before building it. The default implementation callsWeight.scorer(org.apache.lucene.index.LeafReaderContext)
and builds aScorerSupplier
wrapper around it.- Overrides:
scorerSupplier
in classWeight
- Throws:
IOException
- See Also:
-