org.cdlib.xtf.textEngine
Class XtfQueryRewriter

Object
  extended by QueryRewriter
      extended by XtfQueryRewriter
Direct Known Subclasses:
AccentFoldingRewriter, PluralFoldingRewriter, RefieldingQueryRewriter, SlopFixupRewriter, SpellSuggRewriter, StdTermRewriter, UnspanningQueryRewriter

public abstract class XtfQueryRewriter
extends QueryRewriter

Utility class for performing external rewriting, or transformation, tasks on Lucene queries. The base class simply provides a framework. Derived classes should override methods for those parts of a query they need to rewrite, and the base will take care of gluing them together properly.


Nested Class Summary
 
Nested classes/interfaces inherited from class QueryRewriter
QueryRewriter.SpanClauseJoiner
 
Constructor Summary
XtfQueryRewriter()
           
 
Method Summary
protected  Query rewrite(MoreLikeThisQuery mlt)
          Rewrite a "more like this" query
protected  Query rewrite(NumericRangeQuery nrq)
          Rewrite a numeric range query
protected  Query rewrite(SpanExactQuery q)
          Rewrite an exact query.
protected  Query rewrite(SpanSectionTypeQuery stq)
          Rewrite a section type query.
 Query rewriteQuery(Query q)
          Rewrite a query of any supported type.
 
Methods inherited from class QueryRewriter
combineBoost, copyBoost, copyBoost, forceRewrite, rewrite, rewrite, rewrite, rewrite, rewrite, rewrite, rewrite, rewrite, rewrite, rewrite, rewrite, rewrite, rewriteClauses
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XtfQueryRewriter

public XtfQueryRewriter()
Method Detail

rewriteQuery

public Query rewriteQuery(Query q)
Rewrite a query of any supported type.

Overrides:
rewriteQuery in class QueryRewriter
Parameters:
q - Query to rewrite
Returns:
A new query, or 'q' unchanged if no change was needed.

rewrite

protected Query rewrite(SpanSectionTypeQuery stq)
Rewrite a section type query. If's very simple: simply rewrite the sub-queries.

Parameters:
stq - The query to rewrite
Returns:
Rewritten version, or 'nq' unchanged if no changed needed.

rewrite

protected Query rewrite(SpanExactQuery q)
Rewrite an exact query. The base class rewrites each of the sub-clauses.


rewrite

protected Query rewrite(MoreLikeThisQuery mlt)
Rewrite a "more like this" query


rewrite

protected Query rewrite(NumericRangeQuery nrq)
Rewrite a numeric range query