Class PhoneticFilterFactory
java.lang.Object
org.apache.lucene.analysis.AbstractAnalysisFactory
org.apache.lucene.analysis.TokenFilterFactory
org.apache.lucene.analysis.phonetic.PhoneticFilterFactory
- All Implemented Interfaces:
ResourceLoaderAware
Factory for
PhoneticFilter
.
Create tokens based on phonetic encoders from Apache Commons Codec.
This takes one required argument, "encoder", and the rest are optional:
- encoder
- required, one of "DoubleMetaphone", "Metaphone", "Soundex", "RefinedSoundex", "Caverphone" (v2.0), "ColognePhonetic" or "Nysiis" (case insensitive). If encoder isn't one of these, it'll be resolved as a class name either by itself if it already contains a '.' or otherwise as in the same package as these others.
- inject
- (default=true) add tokens to the stream with the offset=0
- maxCodeLength
- The maximum length of the phonetic codes, as defined by the encoder. If an encoder doesn't support this then specifying this is an error.
<fieldType name="text_phonetic" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/> </analyzer> </fieldType>
- Since:
- 3.1
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Class<? extends org.apache.commons.codec.Encoder>
static final String
parameter name: either a short name or a full class name(package private) final boolean
static final String
parameter name: true if encoded tokens should be added as synonymsstatic final String
parameter name: restricts the length of the phonetic codeprivate final Integer
private final String
static final String
SPI nameprivate static final String
private Method
Fields inherited from class org.apache.lucene.analysis.AbstractAnalysisFactory
LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion
-
Constructor Summary
ConstructorsConstructorDescriptionDefault ctor for compatibility with SPIPhoneticFilterFactory
(Map<String, String> args) Creates a new PhoneticFilterFactory -
Method Summary
Modifier and TypeMethodDescriptioncreate
(TokenStream input) Transform the specified input TokenStreamprotected org.apache.commons.codec.Encoder
Must be thread-safe.void
inform
(ResourceLoader loader) Initializes this component with the provided ResourceLoader (used for loading classes, files, etc).private Class<? extends org.apache.commons.codec.Encoder>
resolveEncoder
(String name, ResourceLoader loader) Methods inherited from class org.apache.lucene.analysis.TokenFilterFactory
availableTokenFilters, findSPIName, forName, lookupClass, normalize, reloadTokenFilters
Methods inherited from class org.apache.lucene.analysis.AbstractAnalysisFactory
defaultCtorException, 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, splitAt, splitFileNames
-
Field Details
-
NAME
SPI name- See Also:
-
ENCODER
parameter name: either a short name or a full class name- See Also:
-
INJECT
parameter name: true if encoded tokens should be added as synonyms- See Also:
-
MAX_CODE_LENGTH
parameter name: restricts the length of the phonetic code- See Also:
-
PACKAGE_CONTAINING_ENCODERS
- See Also:
-
registry
-
inject
final boolean inject -
name
-
maxCodeLength
-
clazz
-
setMaxCodeLenMethod
-
-
Constructor Details
-
PhoneticFilterFactory
Creates a new PhoneticFilterFactory -
PhoneticFilterFactory
public PhoneticFilterFactory()Default ctor for compatibility with SPI
-
-
Method Details
-
inform
Description copied from interface:ResourceLoaderAware
Initializes this component with the provided ResourceLoader (used for loading classes, files, etc).- Specified by:
inform
in interfaceResourceLoaderAware
- Throws:
IOException
-
resolveEncoder
private Class<? extends org.apache.commons.codec.Encoder> resolveEncoder(String name, ResourceLoader loader) -
getEncoder
protected org.apache.commons.codec.Encoder getEncoder()Must be thread-safe. -
create
Description copied from class:TokenFilterFactory
Transform the specified input TokenStream- Specified by:
create
in classTokenFilterFactory
-