elasticsearch
elasticsearch copied to clipboard
Stable Plugin API module and analysis interfaces
This commit adds stable analysis plugin API with analysis components interfaces and annotations. It does not contain any usage of it yet. Separate changes to introduce example plugins or refactoring to existing ones will follow later.
It contains two gradle modules. One plugin-api
with two annotations Nameable and NamedComponent, which can be reused for plugins other than analysis.
And second analysis-plugin-api
which contains analysis components (TokenFilterFactory, CharFilterFactory etc)
NamedComponent - used by plugin developer - indicates that a Nameable component will be registered under a given name. Nameable - for analysis plugins it is only used by the stable analysis api designers (ES) - indicates that component have a name and should be declared with NamedComponent
additional tasks that will follow: https://github.com/elastic/elasticsearch/issues/88980
Pinging @elastic/es-core-infra (Team:Core/Infra)
Hi @pgomulka, I've created a changelog YAML for you.
Is the plan to add this to a branch and then start migrating our internal components to use these factories?
@romseygeek we want merge this API and infrastructure to main branch. This will be followed by example plugins implementing this API and possibly some of analysis plugins we have in our repo (we did a PoC with nori)