Package org.elasticsearch.plugins
Interface AnalysisPlugin
public interface AnalysisPlugin
An additional extension point for
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 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 Type Method Description default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends org.apache.lucene.analysis.Analyzer>>>
getAnalyzers()
Override to add additionalAnalyzer
s.default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<CharFilterFactory>>
getCharFilters()
Override to add additionalCharFilter
s.default java.util.Map<java.lang.String,org.apache.lucene.analysis.hunspell.Dictionary>
getHunspellDictionaries()
Override to add additional hunspellDictionary
s.default java.util.List<PreBuiltAnalyzerProviderFactory>
getPreBuiltAnalyzerProviderFactories()
Override to add additional pre-configuredAnalyzer
s.default java.util.List<PreConfiguredCharFilter>
getPreConfiguredCharFilters()
Override to add additional pre-configuredCharFilter
s.default java.util.List<PreConfiguredTokenFilter>
getPreConfiguredTokenFilters()
Override to add additional pre-configuredTokenFilter
s.default java.util.List<PreConfiguredTokenizer>
getPreConfiguredTokenizers()
Override to add additional pre-configuredTokenizer
.default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenFilterFactory>>
getTokenFilters()
Override to add additionalTokenFilter
s.default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenizerFactory>>
getTokenizers()
Override to add additionalTokenizer
s.static <T> AnalysisModule.AnalysisProvider<T>
requiresAnalysisSettings(AnalysisModule.AnalysisProvider<T> provider)
Mark anAnalysisModule.AnalysisProvider
as requiring the index's settings.
-
Method Details
-
getCharFilters
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<CharFilterFactory>> getCharFilters()Override to add additionalCharFilter
s. SeerequiresAnalysisSettings(AnalysisProvider)
how to on get the configuration from the index. -
getTokenFilters
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenFilterFactory>> getTokenFilters()Override to add additionalTokenFilter
s. SeerequiresAnalysisSettings(AnalysisProvider)
how to on get the configuration from the index. -
getTokenizers
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<TokenizerFactory>> getTokenizers()Override to add additionalTokenizer
s. SeerequiresAnalysisSettings(AnalysisProvider)
how to on get the configuration from the index. -
getAnalyzers
default java.util.Map<java.lang.String,AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends org.apache.lucene.analysis.Analyzer>>> getAnalyzers()Override to add additionalAnalyzer
s. SeerequiresAnalysisSettings(AnalysisProvider)
how to on get the configuration from the index. -
getPreBuiltAnalyzerProviderFactories
Override to add additional pre-configuredAnalyzer
s. -
getPreConfiguredCharFilters
Override to add additional pre-configuredCharFilter
s. -
getPreConfiguredTokenFilters
Override to add additional pre-configuredTokenFilter
s. -
getPreConfiguredTokenizers
Override to add additional pre-configuredTokenizer
. -
getHunspellDictionaries
default java.util.Map<java.lang.String,org.apache.lucene.analysis.hunspell.Dictionary> getHunspellDictionaries()Override to add additional hunspellDictionary
s. -
requiresAnalysisSettings
static <T> AnalysisModule.AnalysisProvider<T> requiresAnalysisSettings(AnalysisModule.AnalysisProvider<T> provider)Mark anAnalysisModule.AnalysisProvider
as requiring the index's settings.
-