public class ReversedWildcardFilterFactory extends TokenFilterFactory
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.
<fieldType name="text_rvswc" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" maxPosAsterisk="2" maxPosQuestion="1" minTrailing="2" maxFractionAsterisk="0"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> </analyzer> </fieldType>
LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion
Constructor and Description |
---|
ReversedWildcardFilterFactory(Map<String,String> args)
Creates a new ReversedWildcardFilterFactory
|
Modifier and Type | Method and Description |
---|---|
TokenStream |
create(TokenStream input) |
char |
getMarkerChar() |
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.
|
availableTokenFilters, forName, lookupClass, reloadTokenFilters
get, get, get, get, get, getBoolean, getChar, getClassArg, getFloat, getInt, getLines, getLuceneMatchVersion, getOriginalArgs, getPattern, getSet, getSnowballWordSet, getWordSet, isExplicitLuceneMatchVersion, require, require, require, requireBoolean, requireChar, requireFloat, requireInt, setExplicitLuceneMatchVersion, splitFileNames
public TokenStream create(TokenStream input)
create
in class TokenFilterFactory
public boolean shouldReverse(String token)
token
- input token.public char getMarkerChar()
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.