Действительно,
Поле сценариев Kibana вычисляется во время запроса , поэтому они не индексируются и не могут быть найдены с использованием языка запросов Kibana по умолчанию.
Итак, да, как только вы запросите запрос в Кибане, скриптовые поля рассчитываются на лету. Вы должны иметь в виду, что поле сценария может быть очень ресурсоемким, и если есть другой способ сделать то же самое, вы должны отдать предпочтение этому
Для запроса счетчика вы можете сделать что-то вроде этого:
def counter = 0;
for(int i=0; i < params['_source']['your_field'].length;i++){
if(params['_source']['your_field'][i] == 'criteria') counter++;
}
return counter;
Обратите внимание, что вы должны получить доступ к вашему полю с помощью параметров ['_ source'] ['your_field'], а не с помощью doc ['your_field'], потому что вы не можете подсчитать количество вхождений с индексированным полем поскольку он сводит все одни и те же вхождения к одному значению
Более подробную информацию можно получить в документации
.