Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.
[[plugin-authors]]
== Creating an {es} plugin
{es} plugins are modular bits of code that add functionality to
{es}. Plugins are written in Java and implement Java interfaces that
are defined in the source code. Plugins are composed of JAR files and metadata
files, compressed in a single zip file.
There are two ways to create a plugin:
<<creating-stable-plugins>>::
Text analysis plugins can be developed against the stable plugin API to provide
{es} with custom Lucene analyzers, token filters, character filters, and
tokenizers.
<<creating-classic-plugins>>::
Other plugins can be developed against the classic plugin API to provide custom
authentication, authorization, or scoring mechanisms, and more.
:plugin-type: stable
include::development/creating-stable-plugins.asciidoc[]
include::development/example-text-analysis-plugin.asciidoc[]
:!plugin-type:
:plugin-type: classic
include::development/creating-classic-plugins.asciidoc[]