我在弹性搜索中有一个类型,每个用户都可以发布任意数量的帖子(字段为" userid"" post")。现在我需要发布0的用户数发帖,1个帖子,2个帖子等等......我该怎么做?我认为它需要实现一些嵌套聚合,但我不知道如何继续。提前谢谢!
答案 0 :(得分:1)
这样做的最佳方法是添加一个单独的字段来存储帖子数量。
脚本效率不高(每次查询执行时都会重新评估值)并且正确获取索引值,这使得查询和聚合速度非常快。 当然,每次更新文档时都需要确保更新此计数。
答案 1 :(得分:0)
您可以在聚合中使用script
:
POST index_name/type_name/_search
{
"aggs": {
"group By Post Count": {
"terms": {
"script" : "doc['post'].size()"
}
}
}
}
希望这会对你有所帮助。