弹性搜索滚动聚合

Elastic search scroll aggregations

我正在尝试通过弹性搜索网络 API 根据 id 属性 在索引中获取唯一文档计数。问题是我有数百万个条目。如何滚动聚合? 这是 url:

http://my.servers.ip:9200/index_name/doc_type/_search?scroll=1m

这是正文:

{
  "_source": "false",
    "aggs" : {
        "Ids" : {
            "terms" : {
                "field" : "somePropertyIWantToGoupBy",
                "size" : 100
            },
             "aggs": {
                "unique": {
                    "cardinality": {
                        "field": "someCategoryIWantUniqueCount"
                    }
                }
            }
        }
    },"size":0
}

我得到了 scrollId ,但是在下一次使用 scroll id 的调用中我将得到接下来的 100 个聚合,而不是我得到一个空的结果集。

是否可以滚动聚合? 我做错了什么?

无法对术语聚合进行分页。

您应该使用 Composite Aggregation,但它是测试版聚合,将来可能会被删除或更改...