- All Implemented Interfaces:
SegmentCacheable
- Enclosing class:
- TermQuery
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ScoreMode
private final Similarity
private final Similarity.SimScorer
private final TermStates
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
Constructor Summary
ConstructorsConstructorDescriptionTermWeight
(IndexSearcher searcher, ScoreMode scoreMode, float boost, TermStates termStates) -
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.private TermsEnum
getTermsEnum
(LeafReaderContext context) Returns aTermsEnum
positioned at this weights Term or null if the term does not exist in the given contextboolean
matches
(LeafReaderContext context, int doc) ReturnsMatches
for a specific document, ornull
if the document does not match the parent queryscorer
(LeafReaderContext context) Returns aScorer
which can iterate in order over all matching documents and assign them a score.private boolean
termNotInReader
(LeafReader reader, Term term) toString()
Methods inherited from class org.apache.lucene.search.Weight
bulkScorer, getQuery, scorerSupplier
-
Field Details
-
similarity
-
simScorer
-
termStates
-
scoreMode
-
-
Constructor Details
-
TermWeight
public TermWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost, TermStates termStates) throws IOException - Throws:
IOException
-
-
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
-
toString
-
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
-
getTermsEnum
Returns aTermsEnum
positioned at this weights Term or null if the term does not exist in the given context- Throws:
IOException
-
termNotInReader
- 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
-
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
-