public interface AnalysisPlugin
An additional extension point for
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 Plugin'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.-
Method Summary
Modifier and TypeMethodDescriptiondefault Map<String,AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends org.apache.lucene.analysis.Analyzer>>> Override to add additionalAnalyzers.Override to add additionalCharFilters.Override to add additional hunspellDictionarys.default List<PreBuiltAnalyzerProviderFactory>Override to add additional pre-configuredAnalyzers.default List<PreConfiguredCharFilter>Override to add additional pre-configuredCharFilters.default List<PreConfiguredTokenFilter>Override to add additional pre-configuredTokenFilters.default List<PreConfiguredTokenizer>Override to add additional pre-configuredTokenizer.Override to add additionalTokenFilters.Override to add additionalTokenizers.static <T> AnalysisModule.AnalysisProvider<T>requiresAnalysisSettings(AnalysisModule.AnalysisProvider<T> provider) Mark anAnalysisModule.AnalysisProvideras requiring the index's settings.
-
Method Details
-
getCharFilters
Override to add additionalCharFilters. SeerequiresAnalysisSettings(AnalysisProvider)how to on get the configuration from the index. -
getTokenFilters
Override to add additionalTokenFilters. SeerequiresAnalysisSettings(AnalysisProvider)how to on get the configuration from the index. -
getTokenizers
Override to add additionalTokenizers. SeerequiresAnalysisSettings(AnalysisProvider)how to on get the configuration from the index. -
getAnalyzers
default Map<String,AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends org.apache.lucene.analysis.Analyzer>>> getAnalyzers()Override to add additionalAnalyzers. SeerequiresAnalysisSettings(AnalysisProvider)how to on get the configuration from the index. -
getPreBuiltAnalyzerProviderFactories
Override to add additional pre-configuredAnalyzers. -
getPreConfiguredCharFilters
Override to add additional pre-configuredCharFilters. -
getPreConfiguredTokenFilters
Override to add additional pre-configuredTokenFilters. -
getPreConfiguredTokenizers
Override to add additional pre-configuredTokenizer. -
getHunspellDictionaries
Override to add additional hunspellDictionarys. -
requiresAnalysisSettings
static <T> AnalysisModule.AnalysisProvider<T> requiresAnalysisSettings(AnalysisModule.AnalysisProvider<T> provider) Mark anAnalysisModule.AnalysisProvideras requiring the index's settings.
-