org.cdlib.xtf.textEngine
Class SlopFixupRewriter

Object
  extended by QueryRewriter
      extended by XtfQueryRewriter
          extended by SlopFixupRewriter

public class SlopFixupRewriter
extends XtfQueryRewriter

Fix up all the "infinite" slop entries to be actually limited to the chunk overlap size. That way, we'll get consistent results and the user won't be able to tell where the chunk boundaries are. Also attaches a DocNumMap to each SpanDechunkingQuery.

Author:
Martin Haye

Nested Class Summary
 
Nested classes/interfaces inherited from class QueryRewriter
QueryRewriter.SpanClauseJoiner
 
Field Summary
private  CharMap accentMap
           
private  DocNumMap docNumMap
           
private  WordMap pluralMap
           
private  Set stopSet
           
 
Constructor Summary
SlopFixupRewriter(DocNumMap docNumMap, Set stopSet, WordMap pluralMap, CharMap accentMap)
          Construct a new rewriter
 
Method Summary
 boolean forceRewrite(Query q)
          Can be used to force some or all queries to be rewritten even if no changes.
 Query rewrite(MoreLikeThisQuery q)
          Rewrite a "more like this" query
 Query rewrite(SpanChunkedNotQuery nq)
          Rewrite a span-based NOT query.
 Query rewrite(SpanDechunkingQuery q)
          Rewrite a span dechunking query.
 Query rewrite(SpanNearQuery nq)
          Rewrite a span NEAR query.
 Query rewrite(SpanOrNearQuery nq)
          Rewrite a span OR-NEAR query.
 Query rewrite(SpanRangeQuery q)
          Rewrite a span range query.
 Query rewrite(SpanWildcardQuery q)
          Rewrite a span wildcard query.
 
Methods inherited from class XtfQueryRewriter
rewrite, rewrite, rewrite, rewriteQuery
 
Methods inherited from class QueryRewriter
combineBoost, copyBoost, copyBoost, 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

docNumMap

private DocNumMap docNumMap

stopSet

private Set stopSet

pluralMap

private WordMap pluralMap

accentMap

private CharMap accentMap
Constructor Detail

SlopFixupRewriter

public SlopFixupRewriter(DocNumMap docNumMap,
                         Set stopSet,
                         WordMap pluralMap,
                         CharMap accentMap)
Construct a new rewriter

Method Detail

forceRewrite

public boolean forceRewrite(Query q)
Description copied from class: QueryRewriter
Can be used to force some or all queries to be rewritten even if no changes. This is useful for copying queries, or easily making changes to them. The base class always returns false; derived classes should override this method if they want copying behavior.

Overrides:
forceRewrite in class QueryRewriter

rewrite

public Query rewrite(SpanNearQuery nq)
Description copied from class: QueryRewriter
Rewrite a span NEAR query.

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

rewrite

public Query rewrite(SpanOrNearQuery nq)
Description copied from class: QueryRewriter
Rewrite a span OR-NEAR query.

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

rewrite

public Query rewrite(SpanChunkedNotQuery nq)
Description copied from class: QueryRewriter
Rewrite a span-based NOT query. The procedure in this case is simple: simply rewrite both the include and exclude clauses.

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

rewrite

public Query rewrite(SpanDechunkingQuery q)
Description copied from class: QueryRewriter
Rewrite a span dechunking query. If's very simple: simply rewrite the clause the query wraps.

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

rewrite

public Query rewrite(SpanWildcardQuery q)
Description copied from class: QueryRewriter
Rewrite a span wildcard query. The base class does nothing unless rewriting is forced.

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

rewrite

public Query rewrite(SpanRangeQuery q)
Description copied from class: QueryRewriter
Rewrite a span range query. The base class does nothing unless rewriting is forced.

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

rewrite

public Query rewrite(MoreLikeThisQuery q)
Description copied from class: XtfQueryRewriter
Rewrite a "more like this" query

Overrides:
rewrite in class XtfQueryRewriter