public interface AnalysisPlugin
Plugins that extends Elasticsearch's analysis functionality. To add an additional
TokenFilter just implement the interface and implement the getTokenFilters() method:
public class AnalysisPhoneticPlugin extends Plugin implements AnalysisPlugin {
@Override
public Map<String, AnalysisProvider<TokenFilterFactory>> getTokenFilters() {
return singletonMap("phonetic", PhoneticTokenFilterFactory::new);
}
}
Elasticsearch doesn't have any automatic mechanism to share these components between indexes. If any component is heavy enough to warrant
such sharing then it is the Pugin's responsibility to do it in their AnalysisModule.AnalysisProvider implementation. We recommend against doing
this unless absolutely necessary because it can be difficult to get the caching right given things like behavior changes across versions.| Modifier and Type | Method and Description |
|---|---|
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends org.apache.lucene.analysis.Analyzer>>> |
getAnalyzers()
Override to add additional
Analyzers. |
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<CharFilterFactory>> |
getCharFilters()
Override to add additional
CharFilters. |
default java.util.Map<java.lang.String,org.apache.lucene.analysis.hunspell.Dictionary> |
getHunspellDictionaries()
Override to add additional hunspell
Dictionarys. |
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenFilterFactory>> |
getTokenFilters()
Override to add additional
TokenFilters. |
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenizerFactory>> |
getTokenizers()
Override to add additional
Tokenizers. |
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<CharFilterFactory>> getCharFilters()
CharFilters.default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenFilterFactory>> getTokenFilters()
TokenFilters.default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenizerFactory>> getTokenizers()
Tokenizers.default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends org.apache.lucene.analysis.Analyzer>>> getAnalyzers()
Analyzers.default java.util.Map<java.lang.String,org.apache.lucene.analysis.hunspell.Dictionary> getHunspellDictionaries()
Dictionarys.