org.cdlib.xtf.textEngine
Class PluralFoldingRewriter

Object
  extended by QueryRewriter
      extended by XtfQueryRewriter
          extended by PluralFoldingRewriter

public class PluralFoldingRewriter
extends XtfQueryRewriter

Rewrites a Lucene query to replace all plural words with their singular equivalents.

Author:
Martin Haye

Nested Class Summary
 
Nested classes/interfaces inherited from class QueryRewriter
QueryRewriter.SpanClauseJoiner
 
Field Summary
private  WordMap pluralMap
           
private  Set tokenizedFields
           
 
Constructor Summary
PluralFoldingRewriter(WordMap pluralMap, Set tokFields)
          Construct a new rewriter to use the given map
 
Method Summary
protected  Query rewrite(SpanTermQuery q)
          Rewrite a span term query.
protected  Query rewrite(TermQuery q)
          Rewrite a term query.
 
Methods inherited from class XtfQueryRewriter
rewrite, rewrite, rewrite, rewrite, rewriteQuery
 
Methods inherited from class QueryRewriter
combineBoost, copyBoost, copyBoost, forceRewrite, 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
 

Field Detail

pluralMap

private WordMap pluralMap

tokenizedFields

private Set tokenizedFields
Constructor Detail

PluralFoldingRewriter

public PluralFoldingRewriter(WordMap pluralMap,
                             Set tokFields)
Construct a new rewriter to use the given map

Method Detail

rewrite

protected Query rewrite(TermQuery q)
Rewrite a term query. This is only called for artificial queries introduced by XTF system itself, and therefore we don't map here.

Overrides:
rewrite in class QueryRewriter
Parameters:
q - The query to rewrite
Returns:
Rewritten version, or 'q' unchanged if no changed needed.

rewrite

protected Query rewrite(SpanTermQuery q)
Rewrite a span term query. Maps plural words to singular, but only for tokenized fields.

Overrides:
rewrite in class QueryRewriter
Parameters:
q - The query to rewrite
Returns:
Rewritten version, or 'q' unchanged if no changed needed.