如何寻呼ElasticSearch聚合的结果?(How to paging aggregation

2019-10-22 19:59发布

当我执行下面的查询,如何寻呼AGGS结果?

并且有把一个方法aggs结果hits部分JSON结果?

POST  http://myElastic.com/test/e1,e2,e3/_search
{
  "aggs":{
    "dedup" : {
      "terms":{
        "field": "id"
       },
       "aggs":{
         "dedup_docs":{
           "top_hits":{
             "size":1
           }
         }
       }    
    }
  }
}

Answer 1:

根据以下问题上Elasticsearch github上的网站,我不认为你问什么是可能的:

https://github.com/elastic/elasticsearch/issues/4915

好像不过的共同要求。 添加您自己的意见,他们可能会得到周围添加。



Answer 2:

我搜索了一下才发现,我在我的研究中跨多个位置来了,所以我发帖的人谁都会做出同样的旅程我一个新的答案。

我们可以划分结果如下:

{
  "aggs":{
    "group" : {
      "terms":{
        "field": "id",
        "size":5000,
        "include": {
          "partition": 1,
          "num_partitions": 1000
        }
       },
       "aggs":{
         "dedup_docs":{
           "top_hits":{
             "size":1
           }
         }
       }    
    }
  }
}

// size:5000 : return 5.000 results per page
// num_partitions:1000 : return 1.000 pages of results
// partition:1 : return page index 1 (start at 0)

// size:5000,num_partitions:1000,partition:1 : returns results from 5.000 to 9.999
// size:5000,num_partitions:1000,partition:2 : returns results from 10.000 to 14.999
// size:5000,num_partitions:1000,partition:3 : returns results from 15.000 to 19.999


文章来源: How to paging aggregation result in ElasticSearch?