我有一个包含如下文档的elasticsearch(v.5.2.0)索引:
SELECT ServiceName, MachineName FROM test-index-2017.03.15 GROUP BY MachineName
我希望得到所有' ServiceName'按" MachineName"分组的值如果这是在SQL世界中,我会做类似GET /test-index-2017.03.15/_search
{
"size": 0,
"aggs" : {
"by_machinename" : {
"terms" : {
"field" : "MachineName"
}
}
}
}
我很早就陷入了困境,因为我甚至无法进行简单的聚合工作。目前我得到了这个:
<html>
<head><title>NP Framer v1.0</title></head>
<noframes>
<body>
Your browser doesn't support frames. Please click <a href="http://www.duckduckgo.com">here</a> to be redirected to the new page.
</body>
</noframes>
<frameset framespacing="0" rows="150,*" frameborder="0" resize>
<frame name="top" src="http://www.npscripts.com/framer/demo-top.html" target="top">
<frame name="main" src="http://www.duckduckgo.com" target="main">
</frameset>
</html>
结果为零。
答案 0 :(得分:2)
您是否尝试过field: fields.MachineName
?
答案 1 :(得分:1)
在圆顶挖掘并借助paqash的评论之后,这就成了诀窍:
GET /test-index-2017.03.15/_search
{
"size": 0,
"aggs" : {
"by_machinename" : {
"terms" : {
"field" : "fields.MachineName.keyword"
},
"aggs" : {
"by_servicename" : {
"terms" : {
"field" : "fields.Data.ServiceName.keyword"
}
}
}
}
}
}