# Embbeed elastic search, how to install painless plugin

**URL:** <https://discuss.elastic.co/t/embbeed-elastic-search-how-to-install-painless-plugin/106528>\
**Category:** Elasticsearch\
**Created:** [November 6, 2017, 1:15pm UTC](https://discuss.elastic.co/t/embbeed-elastic-search-how-to-install-painless-plugin/106528 "2017-11-06T13:15:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![eric.santos](https://avatars.discourse-cdn.com/v4/letter/e/b19c9b/32.png) [@eric.santos](https://discuss.elastic.co/u/eric.santos)\
**Post date:** [November 6, 2017, 1:15pm UTC](https://discuss.elastic.co/t/embbeed-elastic-search-how-to-install-painless-plugin/106528/1 "2017-11-06T13:15:56Z")

</div>

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](https://github.com/elastic/elasticsearch/issues/27275)

I would be very thankful if someone help me.

---

<div class="post-metadata">

**Author:** ![jasontedor](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jasontedor/32/66992_2.png) [@jasontedor](https://discuss.elastic.co/u/jasontedor)\
**Post date:** [November 6, 2017, 5:42pm UTC](https://discuss.elastic.co/t/embbeed-elastic-search-how-to-install-painless-plugin/106528/2 "2017-11-06T17:42:36Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![varundbest](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/varundbest/32/48066_2.png) [@varundbest](https://discuss.elastic.co/u/varundbest)\
**Post date:** [November 7, 2017, 8:07pm UTC](https://discuss.elastic.co/t/embbeed-elastic-search-how-to-install-painless-plugin/106528/3 "2017-11-07T20:07:46Z")

</div>

Could you possibly link to one? (Using Gradle)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 5, 2017, 8:07pm UTC](https://discuss.elastic.co/t/embbeed-elastic-search-how-to-install-painless-plugin/106528/4 "2017-12-05T20:07:49Z")

</div>

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