Я пытаюсь построить запрос elasticsearch, который подсчитывает количество документов, где определенное поле находится в пределах определенного диапазона. Это агрегирование также содержится внутри агрегации гистограммы даты, но я не думаю, что это важно для цели этого вопроса.Как я могу подсчитать количество документов, где поле находится в пределах определенного диапазона?
Пример данных:
ID: Score
01: 4
02: 5
03: 10
04: 9
Я хотел бы подсчитать количество документов, где «Score» является> = 9. Я попытался скрипты и фильтры внутри этого объединения, но я не могу получить его Работа.
Эта совокупность подсчитывает все документы, а не только те, которые соответствуют сценарию.
"aggs": {
"report_days": {
"date_histogram": {
"field": "Date",
"interval": "day"
},
"aggs": {
"value_count": {
"field": "Score",
"script": "_value >=9"
}
}
}
}
Это следующая агрегация дает мне отказ синтаксического анализа, говоря Parse Failure [Expected [START_OBJECT] under [field], but got a [VALUE_STRING] in [value_count]]
:
"aggs": {
"report_days": {
"date_histogram": {
"field": "Date",
"interval": "day"
},
"aggs": {
"value_count": {
"field": "Score",
"filter": {
"range": {
"Score": {
"gte": 9
}
}
}
}
}
}
}
Спасибо за любые предложения!