public class QueryTermScorer extends Object implements Scorer
Scorer
implementation which scores text fragments by the number of
unique query terms found. This class uses the QueryTermExtractor
class to process determine the query terms and their boosts to be used.Constructor and Description |
---|
QueryTermScorer(Query query) |
QueryTermScorer(Query query,
IndexReader reader,
String fieldName) |
QueryTermScorer(Query query,
String fieldName) |
QueryTermScorer(WeightedTerm[] weightedTerms) |
Modifier and Type | Method and Description |
---|---|
void |
allFragmentsProcessed() |
float |
getFragmentScore()
Called when the
Highlighter has no more tokens for the current fragment -
the Scorer returns the weighting it has derived for the most recent
fragment, typically based on the results of Scorer.getTokenScore() . |
float |
getMaxTermWeight() |
float |
getTokenScore()
Called for each token in the current fragment.
|
TokenStream |
init(TokenStream tokenStream)
Called to init the Scorer with a
TokenStream . |
void |
startFragment(TextFragment newFragment)
Called when a new fragment is started for consideration.
|
public QueryTermScorer(Query query)
query
- a Lucene query (ideally rewritten using query.rewrite before
being passed to this class and the searcher)public QueryTermScorer(Query query, String fieldName)
query
- a Lucene query (ideally rewritten using query.rewrite before
being passed to this class and the searcher)fieldName
- the Field name which is used to match Query termspublic QueryTermScorer(Query query, IndexReader reader, String fieldName)
query
- a Lucene query (ideally rewritten using query.rewrite before
being passed to this class and the searcher)reader
- used to compute IDF which can be used to a) score selected
fragments better b) use graded highlights eg set font color
intensityfieldName
- the field on which Inverse Document Frequency (IDF)
calculations are basedpublic QueryTermScorer(WeightedTerm[] weightedTerms)
public TokenStream init(TokenStream tokenStream)
Scorer
TokenStream
. You can grab references to
the attributes you are interested in here and access them from Scorer.getTokenScore()
.init
in interface Scorer
tokenStream
- the TokenStream
that will be scored.TokenStream
that the Highlighter should continue using (eg
if you read the tokenSream in this method) or null to continue
using the same TokenStream
that was passed in.public void startFragment(TextFragment newFragment)
Scorer
startFragment
in interface Scorer
newFragment
- the fragment that will be scored nextpublic float getTokenScore()
Scorer
Highlighter
will
increment the TokenStream
passed to init on every call.getTokenScore
in interface Scorer
Highlighter
class to influence the
mark-up of the text (this return value is NOT used to score the
fragment)public float getFragmentScore()
Scorer
Highlighter
has no more tokens for the current fragment -
the Scorer returns the weighting it has derived for the most recent
fragment, typically based on the results of Scorer.getTokenScore()
.getFragmentScore
in interface Scorer
public void allFragmentsProcessed()
public float getMaxTermWeight()
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.