Попытка найти способ получить количество ведер с точки зрения агрегации, где в каждом ведре есть как минимум два документа.
Удалось получить ведра и сохранить размер достаточно большим, чтобы получить все ведра, но я действительно хочу знать, как получить общее количество ведер:
"aggregations": {
"by_universalId": {
"terms": {
"size": 10,
"field": "universalId",
"min_doc_count": 2,
"order": [
{
"_count": "desc"
},
{
"_key": "asc"
}
]
}
}
}
В этой ветке GitHub говорится, что селектор корзины — это правильный способ получить подсчет, но не мог найти способ сделать это. Любая помощь приветствуется, спасибо.
EDIT1: Вот как выглядят данные индекса:
{"id":"1", "universalId": "a"}
{"id":"2", "universalId": "a"}
{"id":"3", "universalId": "b"}
{"id":"4", "universalId": "b"}
{"id":"5", "universalId": "c"}
{"id":"6", "universalId": "c"}
{"id":"7", "universalId": "d"}
{"id":"8", "universalId": "d"}
{"id":"9", "universalId": "e"}
{"id":"10", "universalId": "e"}
{"id":"11", "universalId": "f"}
{"id":"12", "universalId": "f"}
{"id":"13", "universalId": "f"}
{"id":"14", "universalId": "g"}
{"id":"15", "universalId": "g"}
{"id":"16", "universalId": "g"}
{"id":"17", "universalId": "g"}
{"id":"18", "universalId": "h"}
{"id":"19", "universalId": "i"}
{"id":"20", "universalId": "j"}
И когда я запускаю этот запрос, я получаю счет как 5 вместо 7:
{
"aggregations": {
"by_universalId": {
"terms": {
"size": 5,
"field": "universalId",
"min_doc_count": 2,
"order": [
{
"_count": "desc"
},
{
"_key": "asc"
}
]
}
},
"bucketcount": {
"stats_bucket": {
"buckets_path": "by_universalId._count"
}
}
}
}
Вот что я получаю:
"aggregations" : {
"by_universalId" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 4,
"buckets" : [
{
"key" : "g",
"doc_count" : 4
},
{
"key" : "f",
"doc_count" : 3
},
{
"key" : "a",
"doc_count" : 2
},
{
"key" : "b",
"doc_count" : 2
},
{
"key" : "c",
"doc_count" : 2
}
]
},
"bucketcount" : {
"count" : 5,
"min" : 2.0,
"max" : 4.0,
"avg" : 2.6,
"sum" : 13.0
}
}
Если я изменю размер на 10, я получу правильный счет, который равен 7.
Я ожидаю, что количество будет равно 7, независимо от размера, который я передаю с точки зрения агрегирования.
Детали версии Elasticsearch:
"version" : {
"number" : "7.9.2",
"build_flavor" : "default",
"build_type" : "deb",