public interface AnalysisPlugin
Plugin
s 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
Analyzer s. |
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<CharFilterFactory>> |
getCharFilters()
Override to add additional
CharFilter s. |
default java.util.Map<java.lang.String,org.apache.lucene.analysis.hunspell.Dictionary> |
getHunspellDictionaries()
Override to add additional hunspell
Dictionary s. |
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenFilterFactory>> |
getTokenFilters()
Override to add additional
TokenFilter s. |
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenizerFactory>> |
getTokenizers()
Override to add additional
Tokenizer s. |
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<CharFilterFactory>> getCharFilters()
CharFilter
s.default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenFilterFactory>> getTokenFilters()
TokenFilter
s.default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenizerFactory>> getTokenizers()
Tokenizer
s.default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends org.apache.lucene.analysis.Analyzer>>> getAnalyzers()
Analyzer
s.default java.util.Map<java.lang.String,org.apache.lucene.analysis.hunspell.Dictionary> getHunspellDictionaries()
Dictionary
s.