弹性搜索筛选器组合



我们的问题是我们多次有一些类似的条目,并且只想计算一次。

表:
car name|inserted_by_user|insert_date Audi A7|0123|22.01.2016 Audi A7|0290|24.01.2016 Audi A7|0290|24.01.2016 BMW M2|0290|25.01.2016 Audi A7|0290|29.01.2016

我想得到 ->

奥迪 A7: 1 宝马 M2: 1

可能吗?

您应该使用术语聚合。在您的情况下,它看起来像这样:

GET /_search
{
"aggs" : {
"car_names" : {
"terms" : { "field" : "car_name" }
}
}
}

响应应采用以下模式:

...
"aggregations" : {
"car_names" : {
"doc_count_error_upper_bound": 0, 
"sum_other_doc_count": 0, 
"buckets" : [ 
{
"key" : "Audi A7",
"doc_count" : 6
},
{
"key" : "BMW M2",
"doc_count" : 1
}
]
}
}

最新更新