查找在大多数文档中找到的字段值

时间:2016-08-29 11:57:14

标签: search elasticsearch aggregate

假设有文件代表书籍,并且有一个名为 author 的字段。哪些聚合可以检索大多数文档中的 author 值?或者改写,写了大多数的作者?

如果标签中不清楚,则问题是指 Elasticsearch

e.g。

{ 
  "name" : "Book1"
  "author" : "John" 
},
{ 
  "name" : "Book3"
  "author" : "Mike" 
},
{ 
  "name" : "Book2"
  "author" : "John" 
},
{ 
  "name" : "Book4"
  "author" : "Frank" 
}

对于上述数据,John必须退回,因为有2份文件作为作者,而其他人只有一本。

我尝试过使用value_count和基数,但这只返回计数而不是值本身。

1 个答案:

答案 0 :(得分:0)

实际上,我发现使用术语聚合非常简单。离开它,也许其他人发现这很有用。

Reference

e.g。来自上面的数据:

{
    "aggs": {
        "author_count": {
            "terms": {
                "size": 2,
                "field": "book.author"
            }
     }
}