Skip to content

Commit 91d95ba

Browse files
committed
Added phonetic analyzer
1 parent 3ed6b5e commit 91d95ba

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/main/java/LuceneAnalyzer.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import org.apache.commons.codec.language.DoubleMetaphone;
12
import org.apache.lucene.analysis.Analyzer;
23
import org.apache.lucene.analysis.TokenStream;
34
import org.apache.lucene.analysis.Tokenizer;
@@ -8,6 +9,7 @@
89
import org.apache.lucene.analysis.miscellaneous.WordDelimiterGraphFilter;
910
import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter;
1011
import org.apache.lucene.analysis.ngram.NGramTokenFilter;
12+
import org.apache.lucene.analysis.phonetic.PhoneticFilter;
1113
import org.apache.lucene.analysis.standard.StandardAnalyzer;
1214
import org.apache.lucene.analysis.standard.StandardTokenizer;
1315
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
@@ -67,6 +69,15 @@ protected TokenStreamComponents createComponents(String s) {
6769
}
6870
});
6971

72+
analyzer_names.add("Phonetic");
73+
analyzers.add(new Analyzer() {
74+
@Override
75+
protected TokenStreamComponents createComponents(String fieldName) {
76+
Tokenizer tokenizer = new StandardTokenizer();
77+
return new Analyzer.TokenStreamComponents(tokenizer, new PhoneticFilter(tokenizer, new DoubleMetaphone(), false));
78+
}
79+
});
80+
7081
analyzer_names.add("StandardEdgeNGram");
7182
analyzers.add(new Analyzer() {
7283
@Override

0 commit comments

Comments
 (0)