elasticsearch中的嵌套计数聚合

时间:2016-03-22 07:04:17

标签: elasticsearch nested aggregation

我在弹性搜索中有一个类型,每个用户都可以发布任意数量的帖子(字段为" userid"" post")。现在我需要发布0的用户数发帖,1个帖子,2个帖子等等......我该怎么做?我认为它需要实现一些嵌套聚合,但我不知道如何继续。提前谢谢!

2 个答案:

答案 0 :(得分:1)

这样做的最佳方法是添加一个单独的字段来存储帖子数量。

脚本效率不高(每次查询执行时都会重新评估值)并且正确获取索引值,这使得查询和聚合速度非常快。 当然,每次更新文档时都需要确保更新此计数。

答案 1 :(得分:0)

您可以在聚合中使用script

POST index_name/type_name/_search
{
"aggs": {
  "group By Post Count": {
     "terms": {
         "script" : "doc['post'].size()"
       }
     }
   }
 }

确保you enable scriptig

希望这会对你有所帮助。