org.apache.lucene.search.highlight
Class QueryTermExtractor

java.lang.Object
  extended by org.apache.lucene.search.highlight.QueryTermExtractor

public final class QueryTermExtractor
extends Object

Utility class used to extract the terms used in a query, plus any weights. This class will not find terms for MultiTermQuery, TermRangeQuery and PrefixQuery classes so the caller must pass a rewritten query (see Query.rewrite) to obtain a list of expanded terms.


Constructor Summary
QueryTermExtractor()
           
 
Method Summary
static WeightedTerm[] getIdfWeightedTerms(Query query, IndexReader reader, String fieldName)
          Extracts all terms texts of a given Query into an array of WeightedTerms
static WeightedTerm[] getTerms(Query query)
          Extracts all terms texts of a given Query into an array of WeightedTerms
static WeightedTerm[] getTerms(Query query, boolean prohibited)
          Extracts all terms texts of a given Query into an array of WeightedTerms
static WeightedTerm[] getTerms(Query query, boolean prohibited, String fieldName)
          Extracts all terms texts of a given Query into an array of WeightedTerms
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryTermExtractor

public QueryTermExtractor()
Method Detail

getTerms

public static final WeightedTerm[] getTerms(Query query)
Extracts all terms texts of a given Query into an array of WeightedTerms

Parameters:
query - Query to extract term texts from
Returns:
an array of the terms used in a query, plus their weights.

getIdfWeightedTerms

public static final WeightedTerm[] getIdfWeightedTerms(Query query,
                                                       IndexReader reader,
                                                       String fieldName)
Extracts all terms texts of a given Query into an array of WeightedTerms

Parameters:
query - Query to extract term texts from
reader - used to compute IDF which can be used to a) score selected fragments better b) use graded highlights eg changing intensity of font color
fieldName - the field on which Inverse Document Frequency (IDF) calculations are based
Returns:
an array of the terms used in a query, plus their weights.

getTerms

public static final WeightedTerm[] getTerms(Query query,
                                            boolean prohibited,
                                            String fieldName)
Extracts all terms texts of a given Query into an array of WeightedTerms

Parameters:
query - Query to extract term texts from
prohibited - true to extract "prohibited" terms, too
fieldName - The fieldName used to filter query terms
Returns:
an array of the terms used in a query, plus their weights.

getTerms

public static final WeightedTerm[] getTerms(Query query,
                                            boolean prohibited)
Extracts all terms texts of a given Query into an array of WeightedTerms

Parameters:
query - Query to extract term texts from
prohibited - true to extract "prohibited" terms, too
Returns:
an array of the terms used in a query, plus their weights.