Selected plugins/bundles are downloaded and provided when a node starts. Changing a plugin does not change it for nodes already running it. See Updating Plugins and Bundles.
With great power comes great responsibility: Your plugins can extend your cluster with new functionality, but also make it break. Be careful. We obviously cannot guarantee that your custom code works.
Uploaded files cannot be bigger than 20 MB, i.e. 20971520 bytes.
It is important that plugins and dictionaries that you reference in mappings and configurations are available at all times. If you try to upgrade Elasticsearch and for example de-select a dictionary that is referenced in your mapping, the new nodes will be unable to recover the cluster state and function. This is true even if the dictionary is referenced by an empty index you do not actually use.
We expect the scripts will be under
/scripts and dictionaries under
/dictionaries in the root of your zipped bundles.
Here is an example of two bundles which contain a script and a dictionary of synonyms.
$ tree . . └── scripts └── test.groovy
test.groovy can be referred in queries as
$ tree . . └── dictionaries └── synonyms.txt
synonyms.txt can be used as
synonyms.txt in the
synonyms_path of the