Embbeed elastic search, how to install painless plugin

Hello, I'm trying to setup a embedded elastic search cluster for integration tests, but I'm failing when I try to insert a painless script in this cluster, I opened this ticket because i thought might be a bug, but according @jasontedor is not a bug is probably is the missing painless plugin on my embedded cluster. so now the question how I install painless plugin on my cluster? how do I enable this, as far as I know it's a built in support.

more details here, https://github.com/elastic/elasticsearch/issues/27275

I would be very thankful if someone help me.

It's not clear how you're building the embedded node, but if you use ESSingleNodeTestCase or ESIntegTestCase these do no include modules (which the PainlessPlugin is distributed as) by default. Additionally, if you construct a Node by hand, that too does not include the PainlessPlugin. Instead, you have to include it as a plugin for your node (which you can do by overriding certain methods on the test cases I mentioned, or when you construct the node). However, we do not support this, we do not do this anywhere in our testing infrastructure. Instead, when we want to test Painless, we build the zip distribution (which includes all modules by default) and start a standalone node which we then connect to with either the transport client or the REST clients. You can see examples of these in our standalone tests. I hope this helps clarify the situation.

Could you possibly link to one? (Using Gradle)

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.