List of usage examples for org.apache.lucene.analysis.icu ICUFoldingFilterFactory create
@Override
public TokenStream create(TokenStream input)
From source file:com.basistech.IndexFiles.java
License:Open Source License
static Analyzer setupAnalyzer(final boolean filters) { Map<String, String> tokenizerFactoryArgs = Maps.newHashMap(); tokenizerFactoryArgs.put("rlpContext", "rlp-context.xml"); tokenizerFactoryArgs.put("lang", "kor"); tokenizerFactoryArgs.put("postLemma", "true"); tokenizerFactoryArgs.put("postCompoundComponents", "true"); tokenizerFactoryArgs.put("postPartOfSpeech", "true"); final RLPTokenizerFactory tokenizerFactory = new RLPTokenizerFactory(tokenizerFactoryArgs); Map<String, String> emptyOptions = Maps.newHashMap(); final HTMLStripCharFilterFactory charFilterFactory = new HTMLStripCharFilterFactory(emptyOptions); final ICUFoldingFilterFactory foldingFilterFactory = new ICUFoldingFilterFactory(emptyOptions); final ReversedWildcardFilterFactory reversedWildcardFilterFactory = new ReversedWildcardFilterFactory( emptyOptions);// w w w . jav a 2 s . co m final RemoveDuplicatesTokenFilterFactory removeDuplicatesTokenFilterFactory = new RemoveDuplicatesTokenFilterFactory( emptyOptions); return new Analyzer() { @Override protected TokenStreamComponents createComponents(String fieldName, Reader reader) { final Tokenizer source = tokenizerFactory.create(reader); if (filters) { TokenStream filter = foldingFilterFactory.create(source); filter = reversedWildcardFilterFactory.create(filter); filter = removeDuplicatesTokenFilterFactory.create(filter); return new TokenStreamComponents(source, filter); } else { return new TokenStreamComponents(source); } } @Override protected Reader initReader(String fieldName, Reader reader) { if (filters) { return charFilterFactory.create(reader); } else { return reader; } } }; }