# Performance drop when script\_fields encode in Elasticsearch request body

**URL:** <https://discuss.elastic.co/t/performance-drop-when-script-fields-encode-in-elasticsearch-request-body/115479>\
**Category:** Kibana\
**Created:** [January 15, 2018, 6:44am UTC](https://discuss.elastic.co/t/performance-drop-when-script-fields-encode-in-elasticsearch-request-body/115479 "2018-01-15T06:44:07Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mike\_Hung](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Mike\_Hung](https://discuss.elastic.co/u/Mike_Hung)\
**Post date:** [January 15, 2018, 6:44am UTC](https://discuss.elastic.co/t/performance-drop-when-script-fields-encode-in-elasticsearch-request-body/115479/1 "2018-01-15T06:44:07Z")

</div>

Last week I upgraded to Elastic Stack 6.1. I had some performance issue for visualization.  
When I looking to the `Elasticsearch request body`, I found the `script_fields` (named in 0, 1, 2, 3) encoded in the request body as following:

```
{
  "size": 0,
  "_source": {
    "excludes": []
  },
  "aggs": {},
  "stored_fields": [
    "*"
  ],
  "script_fields": {
    "0": {
      "script": {
        "inline": "return 0;",
        "lang": "painless"
      }
    },
    "1": {
      "script": {
        "inline": "return 1;",
        "lang": "painless"
      }
    },
    "2": {
      "script": {
        "inline": "return 2;",
        "lang": "painless"
      }
    },
    "3": {
      "script": {
        "inline": "return 3;",
        "lang": "painless"
      }
    }
  },
  "docvalue_fields": [
    "@timestamp"
  ],
  "query": {
    "bool": {
      "must": [
        {
          "match_all": {}
        },
        {
          "range": {
            "@timestamp": {
              "gte": 1500100277053,
              "lte": 1515997877053,
              "format": "epoch_millis"
            }
          }
        }
      ],
      "filter": [],
      "should": [],
      "must_not": []
    }
  }
}

```

But Kibana 5.6 didn't encode the `script_fields` in the request body.

```
{
  "size": 0,
  "query": {
    "bool": {
      "must": [
        {
          "match_all": {}
        },
        {
          "range": {
            "@timestamp": {
              "gte": 1514736000000,
              "lte": 1517414399999,
              "format": "epoch_millis"
            }
          }
        }
      ],
      "must_not": []
    }
  },
  "_source": {
    "excludes": []
  },
  "aggs": {}
}

```

I think all of the script\_fields in request body will slow down the search speed.  
How can I fix it?

---

<div class="post-metadata">

**Author:** ![timroes](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timroes/32/19712_2.png) [@timroes](https://discuss.elastic.co/u/timroes)\
**Post date:** [January 15, 2018, 9:30am UTC](https://discuss.elastic.co/t/performance-drop-when-script-fields-encode-in-elasticsearch-request-body/115479/2 "2018-01-15T09:30:59Z")

</div>

Hey Mike,

scripted fields can be configured in your index pattern settings in Kibana management.

Could you go to `Management > Index Patterns > <select the index pattern you are using on the left side> >Scripted fields (tab over the table)`.

You can configure (and remove) scripted fields in that table.

Cheers,  
Tim

---

<div class="post-metadata">

**Author:** ![Mike\_Hung](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Mike\_Hung](https://discuss.elastic.co/u/Mike_Hung)\
**Post date:** [January 15, 2018, 10:11am UTC](https://discuss.elastic.co/t/performance-drop-when-script-fields-encode-in-elasticsearch-request-body/115479/3 "2018-01-15T10:11:01Z")

</div>

Hello Tim,

Thanks for your reply.

In fact I really need to use all of the script fields.  
Can I configure the scripted fields not to encoded into every elasticsearch request body?

In Kibana 6.1, I need to take 3 second for basic count metrics due to the request body contains all script fields.  
But it tooks only 50 millisecond when I remove all script fields (just like Kibana 5.6).

---

<div class="post-metadata">

**Author:** ![timroes](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timroes/32/19712_2.png) [@timroes](https://discuss.elastic.co/u/timroes)\
**Post date:** [January 15, 2018, 11:46am UTC](https://discuss.elastic.co/t/performance-drop-when-script-fields-encode-in-elasticsearch-request-body/115479/4 "2018-01-15T11:46:27Z")

</div>

Hi Mike,

a possible solution could be to create two index settings, that point to the same indexes. In that case you could give one of the index patterns the scripted fields and one not, and you only use the index pattern with scripted fields, where you really need it.

Cheers,  
Tim

---

<div class="post-metadata">

**Author:** ![Mike\_Hung](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Mike\_Hung](https://discuss.elastic.co/u/Mike_Hung)\
**Post date:** [January 16, 2018, 1:54am UTC](https://discuss.elastic.co/t/performance-drop-when-script-fields-encode-in-elasticsearch-request-body/115479/5 "2018-01-16T01:54:38Z")

</div>

Hi Tim,

Thank you Tim. It works!  
But it's not a convenient way due to we have lots of script fields.

This behavior (encoded all script fields into every query) is a bug or by design?  
And it will be changed in the further version?

---

<div class="post-metadata">

**Author:** ![timroes](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timroes/32/19712_2.png) [@timroes](https://discuss.elastic.co/u/timroes)\
**Post date:** [January 16, 2018, 8:07am UTC](https://discuss.elastic.co/t/performance-drop-when-script-fields-encode-in-elasticsearch-request-body/115479/6 "2018-01-16T08:07:22Z")

</div>

Right now this is feature. But please feel free to open an feature request on [GitHub](https://github.com/elastic/kibana/issues) and describe what behavior you would wish for.

Cheers,  
Tim

---

<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:** [February 13, 2018, 8:14am UTC](https://discuss.elastic.co/t/performance-drop-when-script-fields-encode-in-elasticsearch-request-body/115479/7 "2018-02-13T08:14:59Z")

</div>

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