如何在弹性搜索聚合中使用分页(大小和从),我使用了大小和来自agreggition,s为例如抛出异常。
我想查询一下吗?
GET / index / nameorder / _search
{
"size": 0,
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"match": {
"projectId": "10057"
}
}
]
}
},
"filter": {
"range": {
"purchasedDate": {
"from": "2012-02-05T00:00:00",
"to": "2015-02-11T23:59:59"
}
}
}
}
},
"aggs": {
"group_by_a": {
"terms": {
"field": "promocode",
"size": 40,
"from": 40
},
"aggs": {
"TotalPrice": {
"sum": {
"field": "subtotalPrice"
}
}
}
}
}
}
答案 0 :(得分:6)
答案 1 :(得分:0)
为了在Elasticsearch中的聚合之上实现分页,您需要执行以下操作。
定义每个批次的大小。
然后根据基数定义partition =(基数计数/大小)(此大小必须小于访存大小)
现在您可以使用partition filter遍历分区-请注意大小必须足够大,因为结果不会在存储桶之间平均分配。