001
002package org.xbib.elasticsearch.plugin.analysis.standardnumber;
003
004import org.elasticsearch.common.inject.Module;
005import org.elasticsearch.index.analysis.AnalysisModule;
006import org.elasticsearch.plugins.AbstractPlugin;
007import org.xbib.elasticsearch.index.analysis.standardnumber.StandardNumberAnalyzerProvider;
008import org.xbib.elasticsearch.index.analysis.standardnumber.StandardNumberTokenFilterFactory;
009
010import java.util.Collection;
011
012import static org.elasticsearch.common.collect.Lists.newArrayList;
013
014public class AnalysisStandardNumberPlugin extends AbstractPlugin {
015
016    @Override
017    public String name() {
018        return "analysis-standardnumber-"
019                + Build.getInstance().getVersion() + "-"
020                + Build.getInstance().getShortHash();
021    }
022
023    @Override
024    public String description() {
025        return "Analysis plugin for standard numbers";
026    }
027
028    public void onModule(AnalysisModule module) {
029        module.addAnalyzer("standardnumber", StandardNumberAnalyzerProvider.class);
030        module.addTokenFilter("standardnumber", StandardNumberTokenFilterFactory.class);
031    }
032
033    @Override
034    public Collection<Class<? extends Module>> indexModules() {
035        Collection<Class<? extends Module>> modules = newArrayList();
036        modules.add(StandardNumberIndexModule.class);
037        return modules;
038    }
039}