# Using painless split function in aggregation

**URL:** <https://discuss.elastic.co/t/using-painless-split-function-in-aggregation/153168>\
**Category:** Elasticsearch\
**Created:** [October 19, 2018, 11:28am UTC](https://discuss.elastic.co/t/using-painless-split-function-in-aggregation/153168 "2018-10-19T11:28:07Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mamadou\_Diop](https://avatars.discourse-cdn.com/v4/letter/m/bbce88/32.png) [@Mamadou\_Diop](https://discuss.elastic.co/u/Mamadou_Diop)\
**Post date:** [October 19, 2018, 11:28am UTC](https://discuss.elastic.co/t/using-painless-split-function-in-aggregation/153168/1 "2018-10-19T11:28:07Z")

</div>

Hello,

I am trying to use the painless script split function in my AWS elasticsearch cluster but it does not seem to be working. I get "Unable to find dynamic method [split] with [1] arguments for class [java.lang.String]."

 ![00](https://us1.discourse-cdn.com/elastic/original/3X/e/a/ea2ce589abb605d825044b16bdc0e4baac726730.png)

 ![08](https://us1.discourse-cdn.com/elastic/original/3X/0/d/0dda7ae2d50a69cfee51b4231122a00f11a1881b.png)

Any idea?

Many thanks

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [October 19, 2018, 11:50am UTC](https://discuss.elastic.co/t/using-painless-split-function-in-aggregation/153168/2 "2018-10-19T11:50:12Z")

</div>

I would recommend doing that kind of processing before you index the data. Even it is possible (not sure it is) it will be quite slow to do this at query time and not scale very well.

---

<div class="post-metadata">

**Author:** ![rjernst](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rjernst/32/6363_2.png) [@rjernst](https://discuss.elastic.co/u/rjernst)\
**Post date:** [October 22, 2018, 3:47pm UTC](https://discuss.elastic.co/t/using-painless-split-function-in-aggregation/153168/3 "2018-10-22T15:47:30Z")

</div>

The `split` function for String is not exposed in painless. To use the equivalent, you need to have regexes enabled, and get a `Pattern` with slashy strings. Something like this iirc:

```auto
/?/.split(value)

```

---

<div class="post-metadata">

**Author:** ![Mamadou\_Diop](https://avatars.discourse-cdn.com/v4/letter/m/bbce88/32.png) [@Mamadou\_Diop](https://discuss.elastic.co/u/Mamadou_Diop)\
**Post date:** [October 22, 2018, 4:01pm UTC](https://discuss.elastic.co/t/using-painless-split-function-in-aggregation/153168/4 "2018-10-22T16:01:45Z")

</div>

As I am using elasticsearch through AWS I am not able to configure the elasticsearch.yml to enable regex. I found a way around it by using the substring method.

Thanks for the answer 🙂

---

<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:** [November 19, 2018, 4:05pm UTC](https://discuss.elastic.co/t/using-painless-split-function-in-aggregation/153168/5 "2018-11-19T16:05:28Z")

</div>

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