Class PhoneticFilterFactory

  extended by org.apache.lucene.analysis.util.AbstractAnalysisFactory
      extended by org.apache.lucene.analysis.util.TokenFilterFactory
          extended by org.apache.lucene.analysis.phonetic.PhoneticFilterFactory
All Implemented Interfaces:

public class PhoneticFilterFactory
extends TokenFilterFactory
implements 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:

required, one of "DoubleMetaphone", "Metaphone", "Soundex", "RefinedSoundex", "Caverphone" (v2.0), or "ColognePhonetic" (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.
(default=true) add tokens to the stream with the offset=0
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">
     <tokenizer class="solr.WhitespaceTokenizerFactory"/>
     <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>

See Also:

Field Summary
static String ENCODER
          parameter name: either a short name or a full class name
static String INJECT
          parameter name: true if encoded tokens should be added as synonyms
static String MAX_CODE_LENGTH
          parameter name: restricts the length of the phonetic code
Fields inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory
args, luceneMatchVersion
Constructor Summary
          Sole constructor.
Method Summary
 PhoneticFilter create(TokenStream input)
protected  org.apache.commons.codec.Encoder getEncoder()
          Must be thread-safe.
 void inform(ResourceLoader loader)
Methods inherited from class org.apache.lucene.analysis.util.TokenFilterFactory
availableTokenFilters, forName, lookupClass, reloadTokenFilters
Methods inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory
assureMatchVersion, getArgs, getBoolean, getBoolean, getInt, getInt, getInt, getLines, getLuceneMatchVersion, getOriginalArgs, getPattern, getSnowballWordSet, getWordSet, init, setLuceneMatchVersion, splitFileNames
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static final String ENCODER
parameter name: either a short name or a full class name

See Also:
Constant Field Values


public static final String INJECT
parameter name: true if encoded tokens should be added as synonyms

See Also:
Constant Field Values


public static final String MAX_CODE_LENGTH
parameter name: restricts the length of the phonetic code

See Also:
Constant Field Values
Constructor Detail


public PhoneticFilterFactory()
Sole constructor. See AbstractAnalysisFactory for initialization lifecycle.

Method Detail


public void inform(ResourceLoader loader)
            throws IOException
Specified by:
inform in interface ResourceLoaderAware


protected org.apache.commons.codec.Encoder getEncoder()
Must be thread-safe.


public PhoneticFilter create(TokenStream input)
Specified by:
create in class TokenFilterFactory

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.