package org.xbib.elasticsearch.index.analysis.standardnumber;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.env.Environment;
import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.index.analysis.AbstractIndexAnalyzerProvider;
import org.elasticsearch.index.analysis.UniqueTokenFilterFactory;
import org.elasticsearch.index.analysis.WhitespaceTokenizerFactory;
import org.xbib.elasticsearch.index.mapper.standardnumber.StandardnumberMapper;
/**
*
*/
public class StandardnumberAnalyzerProvider extends AbstractIndexAnalyzerProvider<StandardnumberAnalyzer> {
private final StandardnumberAnalyzer analyzer;
public StandardnumberAnalyzerProvider(IndexSettings indexSettings, Environment environment, String name,
Settings settings, StandardnumberMapper.TypeParser standardNumberTypeParser) {
super(indexSettings, name, settings);
WhitespaceTokenizerFactory tokenizerFactory =
new WhitespaceTokenizerFactory(indexSettings, environment, name, settings);
StandardnumberTokenFilterFactory stdnumTokenFilterFactory =
new StandardnumberTokenFilterFactory(indexSettings, environment, name, settings, standardNumberTypeParser);
UniqueTokenFilterFactory uniqueTokenFilterFactory =
new UniqueTokenFilterFactory(indexSettings, environment, name, settings);
this.analyzer = new StandardnumberAnalyzer(tokenizerFactory, stdnumTokenFilterFactory, uniqueTokenFilterFactory);
}
@Override
public StandardnumberAnalyzer get() {
return this.analyzer;
}
}