package lux.index.analysis;
import java.io.Reader;
import lux.index.IndexConfiguration;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.core.LowerCaseFilter;
import org.apache.lucene.analysis.standard.StandardTokenizer;
public final class DefaultAnalyzer extends Analyzer {
@Override
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
Tokenizer tokenizer = new StandardTokenizer(IndexConfiguration.LUCENE_VERSION, reader);
TokenStream tokenStream = new LowerCaseFilter(IndexConfiguration.LUCENE_VERSION, tokenizer);
// ASCIIFoldingFilter
// Stemming
// Possessives
// hyphenated words
return new TokenStreamComponents(tokenizer, tokenStream);
}
}
/*
* This Source Code Form is subject to the terms of the Mozilla Public License,
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
* obtain one at http://mozilla.org/MPL/2.0/.
*/