У меня есть индекс Elasticsearch с документами, имеющими следующие поля:
Каждое из этих полей может содержать несколько пользователейИдентификаторы.
Я хочу выполнить агрегацию, которая подсчитывает общее количество документов, связанных с каждым пользователем (как автором, так и автором).
Я могу запросить каждую агрегацию отдельно, но как мне это сделать?объединить их?Вот мой запрос:
GET documents/_search
{
"aggs": {
"contributor": {
"terms": {
"field": "contributor"
}
},
"author": {
"terms": {
"field": "author"
}
}
}
}
Прямо сейчас я получаю такой результат:
"aggregations": {
"author": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [{
"key": 2,
"doc_count": 10
},
{
"key": 1,
"doc_count": 7
},
{
"key": 5,
"doc_count": 3
}
]
},
"contributor": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [{
"key": 5,
"doc_count": 1
}]
}
}
Но я хотел бы иметь одну агрегацию, которая возвращает количество 4 документов дляпользователь 5.