Hi Clinton, thanks for the very clear answer. My use case seems somewhat simpler -and more common- than the use cases mentioned before, but I seem not to be able to find any documentation or help on this.
In production, we install our plugins with the bin/plugin script as we have always done, and the applications connect either via HTTP or using the transport client. With ES1.x we had also set up a few tests in our Java code base that would perform some indexing and search operations over test data, using the production settings and mappings. As we use a custom token filter in production, I obviously need the same token filter to be available to the embedded instance that is started while testing.
With ES1, I only needed to add the plugin JAR to the classpath. Is there no simple way to do this with ES2? How can I provide the plugin to the embedded node that, at the moment, is started like this?
Settings.Builder elasticsearchSettings = Settings.settingsBuilder()
.put("http.enabled", "false")
.put("path.home", homeDirectory);
node = nodeBuilder()
.local(true)
.settings(elasticsearchSettings.build())
.node();
Should I somehow provide a plugin directory containing (unpacked? how?) plugins to the embedded node?