1
我试图在elasticsearch中执行一个查询来从特定日期范围获取特定用户的reuslt。结果应该由用户id进行分组和排序上trackTime场,我能够通过聚合使用组,但我不能够对tracktime聚集桶排序,我写下了下面的查询排序elasticsearch顶部命中结果
GET _search
{
"size": 0,
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"range": {
"trackTime": {
"from": "2016-02-08T05:51:02.000Z"
}
}
}
]
}
},
"filter": {
"terms": {
"userId": [
9,
10,
3
]
}
}
}
},
"aggs": {
"by_district": {
"terms": {
"field": "userId"
},
"aggs": {
"tops": {
"top_hits": {
"size": 2
}
}
}
}
}
}
什么更多的应该我必须使用排序的顶级命中结果?在此先感谢...
感谢的人,这是工作的超精细。你让我的一天... –
@Richa我在类似的情况。 Top_hits聚合下的排序字段名更像深度2级。例如:“sort”:{“user.name.fieldName”:{“order”:“desc”}} ..它在这种情况下不起作用。有什么想法吗..? – DecKno
@Arivazhagan Jeganathan:它为我工作。是用户'嵌套'的类型? – Richa