Class TermQuery.TermWeight
- java.lang.Object
-
- org.apache.lucene.search.Weight
-
- org.apache.lucene.search.TermQuery.TermWeight
-
- All Implemented Interfaces:
SegmentCacheable
- Enclosing class:
- TermQuery
final class TermQuery.TermWeight 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 private ScoreModescoreModeprivate Similaritysimilarityprivate Similarity.SimScorersimScorerprivate TermStatestermStates-
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
-
Constructor Summary
Constructors Constructor Description TermWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost, TermStates termStates)
-
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.private TermsEnumgetTermsEnum(LeafReaderContext context)Returns aTermsEnumpositioned at this weights Term or null if the term does not exist in the given contextbooleanisCacheable(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.private booleantermNotInReader(LeafReader reader, Term term)java.lang.StringtoString()-
Methods inherited from class org.apache.lucene.search.Weight
bulkScorer, getQuery, scorerSupplier
-
-
-
-
Field Detail
-
similarity
private final Similarity similarity
-
simScorer
private final Similarity.SimScorer simScorer
-
termStates
private final TermStates termStates
-
scoreMode
private final ScoreMode scoreMode
-
-
Constructor Detail
-
TermWeight
public TermWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost, TermStates termStates) throws java.io.IOException
- Throws:
java.io.IOException
-
-
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
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
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
-
isCacheable
public boolean isCacheable(LeafReaderContext ctx)
- Returns:
trueif the object can be cached against a given leaf
-
getTermsEnum
private TermsEnum getTermsEnum(LeafReaderContext context) throws java.io.IOException
Returns aTermsEnumpositioned at this weights Term or null if the term does not exist in the given context- Throws:
java.io.IOException
-
termNotInReader
private boolean termNotInReader(LeafReader reader, Term term) throws java.io.IOException
- Throws:
java.io.IOException
-
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
-
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
-
-