Package org.apache.lucene.search.highlight

# Class QueryTermExtractor

java.lang.Object
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

  Constructors
  Constructor
  Description
  `QueryTermExtractor()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static final WeightedTerm[]`
  `getIdfWeightedTerms(Query query, IndexReader reader, String fieldName)`
  Extracts all terms texts of a given Query into an array of WeightedTerms
  `static final WeightedTerm[]`
  `getTerms(Query query)`
  Extracts all terms texts of a given Query into an array of WeightedTerms
  `static final 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 Details

  - ### QueryTermExtractor

    public QueryTermExtractor()

- ## Method Details

  - ### 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 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.