org.apache.lucene.search.highlight
Class QueryScorer

java.lang.Object
  extended by org.apache.lucene.search.highlight.QueryScorer
All Implemented Interfaces:
Scorer

public class QueryScorer
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 Summary
QueryScorer(Query query)
           
QueryScorer(Query query, IndexReader reader, String fieldName)
           
QueryScorer(Query query, String fieldName)
           
QueryScorer(WeightedTerm[] weightedTerms)
           
 
Method Summary
 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 tokens passed to getTokenScore().
 float getMaxTermWeight()
           
 float getTokenScore(Token token)
          Called for each token in the current fragment
 void startFragment(TextFragment newFragment)
          called when a new fragment is started for consideration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryScorer

public QueryScorer(Query query)
Parameters:
query - a Lucene query (ideally rewritten using query.rewrite before being passed to this class and the searcher)

QueryScorer

public QueryScorer(Query query,
                   String fieldName)
Parameters:
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 terms

QueryScorer

public QueryScorer(Query query,
                   IndexReader reader,
                   String fieldName)
Parameters:
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 intensity
fieldName - the field on which Inverse Document Frequency (IDF) calculations are based

QueryScorer

public QueryScorer(WeightedTerm[] weightedTerms)
Method Detail

startFragment

public void startFragment(TextFragment newFragment)
Description copied from interface: Scorer
called when a new fragment is started for consideration

Specified by:
startFragment in interface Scorer

getTokenScore

public float getTokenScore(Token token)
Description copied from interface: Scorer
Called for each token in the current fragment

Specified by:
getTokenScore in interface Scorer
Parameters:
token - The token to be scored
Returns:
a score which is passed to the Highlighter class to influence the mark-up of the text (this return value is NOT used to score the fragment)

getFragmentScore

public float getFragmentScore()
Description copied from interface: Scorer
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 tokens passed to getTokenScore().

Specified by:
getFragmentScore in interface Scorer

allFragmentsProcessed

public void allFragmentsProcessed()

getMaxTermWeight

public float getMaxTermWeight()
Returns:
The highest weighted term (useful for passing to GradientFormatter to set top end of coloring scale.


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.