elasticsearch icon indicating copy to clipboard operation
elasticsearch copied to clipboard

Stable Plugin API module and analysis interfaces

Open pgomulka opened this issue 2 years ago • 3 comments

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

pgomulka avatar Jul 25 '22 15:07 pgomulka

Pinging @elastic/es-core-infra (Team:Core/Infra)

elasticsearchmachine avatar Aug 01 '22 14:08 elasticsearchmachine

Hi @pgomulka, I've created a changelog YAML for you.

elasticsearchmachine avatar Aug 01 '22 14:08 elasticsearchmachine

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)

pgomulka avatar Aug 02 '22 10:08 pgomulka