Как агрегировать, пока в ElasticSearch не будет достигнуто определенное значение? - PullRequest
5 голосов
/ 16 мая 2019

Я хотел бы объединить список документов (каждое из них имеет два поля - метка времени и сумма) по полю «сумма», пока не будет достигнуто определенное значение.Например, я хотел бы получить список документов, отсортированных по отметке времени, общая сумма которых равна 100. Можно ли сделать один запрос?

Вот мой запрос, который возвращает общую сумму - я хотел бы добавитьздесь условие остановки агрегации при достижении определенного значения.

{
"query": {
    "bool": {
        "filter": [
            {
                "range": {
                    "timestamp": {
                        "gte": 1525168583
                    }
                }
            }
        ]
    }
},
"aggs": {
    "total_amount": {
        "sum": {
            "field": "amount"
        }
    }
},
"sort": [
    "timestamp"
],
"size": 10000
}

Спасибо

...