Elasticsearch поддерживает фильтрацию значений агрегации с секционированием.
GET /_search
{
"size": 0,
"aggs": {
"expired_sessions": {
"terms": {
"field": "account_id",
"include": {
"partition": 0,
"num_partitions": 20
},
"size": 10000,
"order": {
"last_access": "asc"
}
},
"aggs": {
"last_access": {
"max": {
"field": "access_date"
}
}
}
}
}
}
См. Фильтрация значений с разделами .
Имейте в виду, что разбиение может добавить снижение производительности в зависимости от агрегации.