小编mos*_*ski的帖子

如何聚合,直到在ElasticSearch中达到某个值?

我想通过“数量”字段汇总一个文档列表(每个文档都有两个字段-时间戳记和数量),直到达到某个值为止。例如,我想获得按时间戳排序的文档列表,该文档的总数等于100。可以在一个查询中进行操作吗?

这是我的查询,返回总金额-我想在此处添加一个条件,以在达到一定值时停止聚合。

{
"query": {
    "bool": {
        "filter": [
            {
                "range": {
                    "timestamp": {
                        "gte": 1525168583
                    }
                }
            }
        ]
    }
},
"aggs": {
    "total_amount": {
        "sum": {
            "field": "amount"
        }
    }
},
"sort": [
    "timestamp"
],
"size": 10000
}
Run Code Online (Sandbox Code Playgroud)

谢谢

elasticsearch elasticsearch-aggregation elasticsearch-dsl-py

5
推荐指数
1
解决办法
55
查看次数