现在留言不是实时发布了吗? 刚刚留言说有问题,现在原因找到了,多加个一个size: 0,。但是发现这个聚合很没有意思,用下面简单的query就能达到同样效果。
# query
GET employees/_search
{
"query": {
"match": {
"job.keyword": "Dev Manager"
}
}
}
# result
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 2,
"relation" : "eq"
},
"max_score" : 2.1747518,
"hits" : [
{
"_index" : "employees",
"_type" : "_doc",
"_id" : "2",
"_score" : 2.1747518,
"_source" : {
"name" : "Underwood",
"age" : 41,
"job" : "Dev Manager",
"gender" : "male",
"salary" : 50000
}
},
{
"_index" : "employees",
"_type" : "_doc",
"_id" : "21",
"_score" : 2.1747518,
"_source" : {
"name" : "Underwood2",
"age" : 42,
"job" : "Dev Manager",
"gender" : "male",
"salary" : 60000
}
}
]
}
}
我期望达到的效果是:结果中只有"Dev Manager"job类型的,按terms分桶的数据。
比如:
{
"key" : "Dev Manager",
"doc_count" : 1
}
这个才是我期望的聚合后再对结果进行post_filter的效果,相当于对结果集再做处理,但不知道ES是不是这样设计的。或者应该用pipeline达到我想要的结果。
展开