# Painless script field Kibana

**URL:** <https://discuss.elastic.co/t/painless-script-field-kibana/194602>\
**Category:** Вопросы на русском языке\
**Created:** [August 9, 2019, 11:35am UTC](https://discuss.elastic.co/t/painless-script-field-kibana/194602 "2019-08-09T11:35:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vladimir\_Pavlovsky](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/vladimir_pavlovsky/32/48526_2.png) [@Vladimir\_Pavlovsky](https://discuss.elastic.co/u/Vladimir_Pavlovsky)\
**Post date:** [August 9, 2019, 11:35am UTC](https://discuss.elastic.co/t/painless-script-field-kibana/194602/1 "2019-08-09T11:35:41Z")

</div>

Добрый день!  
Хочу убедиться в том, что Kibana не может отобразить следующий терм ( **total\_goals** ) из [примера](https://www.elastic.co/guide/en/elasticsearch/painless/6.8/painless-examples.html):

> ```
> GET hockey/_search
> {
> "query": {
> "match_all": {}
> },
> "script_fields": {
> "total_goals": {
> "script": {
> "lang": "painless",
> "source": """
> int total = 0;
> for (int i = 0; i < doc['goals'].length; ++i) {
> total += doc['goals'][i];
> }
> return total;
> """
> }
> }
> }
> }
> 
> ```

Задача визуализировать переменную из скрипта.  
UPD: В общем просмотрев форумы я пришел к выводу, что данную задачу невозможно реализовать средствами Kibana.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [August 9, 2019, 3:31pm UTC](https://discuss.elastic.co/t/painless-script-field-kibana/194602/2 "2019-08-09T15:31:09Z")

</div>

Почему не возможно? Я только что попробовал - все работает. Какой у вас тип у поля `goals` и что конкретно не работает?

---

<div class="post-metadata">

**Author:** ![Vladimir\_Pavlovsky](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/vladimir_pavlovsky/32/48526_2.png) [@Vladimir\_Pavlovsky](https://discuss.elastic.co/u/Vladimir_Pavlovsky)\
**Post date:** [August 9, 2019, 4:01pm UTC](https://discuss.elastic.co/t/painless-script-field-kibana/194602/3 "2019-08-09T16:01:07Z")

</div>

Игорь, 😳 я очень удивлен.

Тогда большая просьба пояснить, как мне отобразиться в Data Table значение **total\_goals** без использования scripted fields в Kibana:  
Делаю запрос в elasticsearch:

> ```
> GET hockey/_search
> {
> "query": {
> "match_all": {}
> },
> "script_fields": {
> "total_goals": {
> "script": {
> "lang": "painless",
> "inline": "int total = 0; for (int i = 0; i < doc['goals'].length; ++i) { total += doc['goals'][i]; } return total;"
> }
> }
> }
> }
> 
> ```

Получаю ответ:

> {  
> "took" : 14,  
> "timed\_out" : false,  
> "\_shards" : {  
> "total" : 1,  
> "successful" : 1,  
> "skipped" : 0,  
> "failed" : 0  
> },  
> "hits" : {  
> "total" : 11,  
> "max\_score" : 1.0,  
> "hits" : [  
> {  
> "\_index" : "hockey",  
> "\_type" : "player",  
> "\_id" : "1",  
> "\_score" : 1.0,  
> "fields" : {  
> "total\_goals" : [  
> 37  
> ]  
> }  
> },  
> {  
> "\_index" : "hockey",  
> "\_type" : "player",  
> "\_id" : "2",  
> "\_score" : 1.0,  
> "fields" : {  
> "total\_goals" : [  
> 87  
> ]  
> }  
> },..... и т.д.

Почему такие вопросы я объясню. Есть индекс, где проиндексированы fields с датой начала и конца операции. Мне нужно показать длительность операции, длительность операции планирую вычислять скриптом, создавая новое поле в запросе.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [August 9, 2019, 4:31pm UTC](https://discuss.elastic.co/t/painless-script-field-kibana/194602/4 "2019-08-09T16:31:44Z")

</div>

> [@Vladimir\_Pavlovsky](#):
>
> без использования scripted fields в Kibana

А в чем проблема с использованием scripted\_fields в Kibana?

---

<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:** [September 6, 2019, 4:31pm UTC](https://discuss.elastic.co/t/painless-script-field-kibana/194602/5 "2019-09-06T16:31:46Z")

</div>

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