org.apache.solr.analysis
Class PhoneticFilterFactory

java.lang.Object
  extended by org.apache.lucene.analysis.util.AbstractAnalysisFactory
      extended by org.apache.lucene.analysis.util.TokenFilterFactory
          extended by org.apache.solr.analysis.PhoneticFilterFactory

public class PhoneticFilterFactory
extends TokenFilterFactory

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), 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.
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>

See Also:
PhoneticFilter

Field Summary
protected  Class<? extends org.apache.commons.codec.Encoder> clazz
           
static String ENCODER
           
protected  boolean inject
           
static String INJECT
           
static String MAX_CODE_LENGTH
           
protected  Integer maxCodeLength
           
protected  String name
           
protected  Method setMaxCodeLenMethod
           
 
Fields inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory
args, luceneMatchVersion
 
Constructor Summary
PhoneticFilterFactory()
           
 
Method Summary
 PhoneticFilter create(TokenStream input)
           
protected  org.apache.commons.codec.Encoder getEncoder()
          Must be thread-safe.
 void init(Map<String,String> args)
           
 
Methods inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory
assureMatchVersion, getArgs, getBoolean, getBoolean, getInt, getInt, getInt, getLuceneMatchVersion, getPattern, getSnowballWordSet, getWordSet, setLuceneMatchVersion, splitFileNames
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ENCODER

public static final String ENCODER
See Also:
Constant Field Values

INJECT

public static final String INJECT
See Also:
Constant Field Values

MAX_CODE_LENGTH

public static final String MAX_CODE_LENGTH
See Also:
Constant Field Values

inject

protected boolean inject

name

protected String name

clazz

protected Class<? extends org.apache.commons.codec.Encoder> clazz

setMaxCodeLenMethod

protected Method setMaxCodeLenMethod

maxCodeLength

protected Integer maxCodeLength
Constructor Detail

PhoneticFilterFactory

public PhoneticFilterFactory()
Method Detail

init

public void init(Map<String,String> args)
Overrides:
init in class AbstractAnalysisFactory

getEncoder

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


create

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


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