У меня есть поле history
, в котором хранится массив объектов JSON с идентификатором. Я хочу получить 10 лучших идентификаторов с количеством значений объектов JSON с определенным идентификатором.
"group_by_id": {
"terms": {
"field": "history.some_id"
},
"aggs": {
"absolut": {
"value_count": {
"field": "history.some_id" // should count per bucket by bucket key (ID)
}
}
}
}
поле history
выглядит так
{
"some_id": 471741,
...
},
{
"some_id": 471745,
...
},
...
Я получаю эти корзины и хочу, чтобы count.value
использовала key
для фильтрации результатов.
"group_by_id": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": 471741, // count by this ID
"doc_count": 5,
"absolut": {
"value": 20 // this value is not correct
}
},
{
"key": 471745,
"doc_count": 2,
"absolut": {
"value": 17
}
},
...
Мой желаемый результат - это сегменты, значение которых учитывает только записи истории с some_id, например группу по ключу сегмента. Это возможно? Может быть, вы знаете ключевое слово, с которым я могу найти решение.