org.apache.solr.analysis
Class ReversedWildcardFilterFactory
java.lang.Object
org.apache.solr.analysis.BaseTokenFilterFactory
org.apache.solr.analysis.ReversedWildcardFilterFactory
- All Implemented Interfaces:
- TokenFilterFactory
public class ReversedWildcardFilterFactory
- extends BaseTokenFilterFactory
Factory for ReversedWildcardFilter
-s. When this factory is
added to an analysis chain, it will be used both for filtering the
tokens during indexing, and to determine the query processing of
this field during search.
This class supports the following init arguments:
withOriginal
- if true, then produce both original and reversed tokens at
the same positions. If false, then produce only reversed tokens.
maxPosAsterisk
- maximum position (1-based) of the asterisk wildcard
('*') that triggers the reversal of query term. Asterisk that occurs at
positions higher than this value will not cause the reversal of query term.
Defaults to 2, meaning that asterisks on positions 1 and 2 will cause
a reversal.
maxPosQuestion
- maximum position (1-based) of the question
mark wildcard ('?') that triggers the reversal of query term. Defaults to 1.
Set this to 0, and maxPosAsterisk
to 1 to reverse only
pure suffix queries (i.e. ones with a single leading asterisk).
maxFractionAsterisk
- additional parameter that
triggers the reversal if asterisk ('*') position is less than this
fraction of the query token length. Defaults to 0.0f (disabled).
minTrailing
- minimum number of trailing characters in query
token after the last wildcard character. For good performance this should be
set to a value larger than 1. Defaults to 2.
Note 1: This filter always reverses input tokens during indexing.
Note 2: Query tokens without wildcard characters will never be reversed.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ReversedWildcardFilterFactory
public ReversedWildcardFilterFactory()
init
public void init(Map<String,String> args)
- Description copied from interface:
TokenFilterFactory
init
will be called just once, immediately after creation.
The args are user-level initialization parameters that
may be specified when declaring the factory in the
schema.xml
- Specified by:
init
in interface TokenFilterFactory
- Overrides:
init
in class BaseTokenFilterFactory
create
public TokenStream create(TokenStream input)
- Description copied from interface:
TokenFilterFactory
- Transform the specified input TokenStream
shouldReverse
public boolean shouldReverse(String token)
- This method encapsulates the logic that determines whether
a query token should be reversed in order to use the
reversed terms in the index.
- Parameters:
token
- input token.
- Returns:
- true if input token should be reversed, false otherwise.
getMarkerChar
public char getMarkerChar()
getFloat
protected float getFloat(String name,
float defValue)
Copyright © 2010 Apache Software Foundation. All Rights Reserved.