我正在尝试在elasticsearch中执行查询以从特定日期范围中获取特定用户的重用.结果应该按userId分组并在trackTime字段上排序,我可以通过使用聚合使用组,但我无法在tracktime上对聚合桶进行排序,我写下以下查询
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
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
还有什么我应该用来排序热门命中的结果?提前致谢...
你可以使用sort
喜欢.
"aggs": {
"by_district": {
"terms": {
"field": "userId"
},
"aggs": {
"tops": {
"top_hits": {
"sort": [
{
"fieldName": {
"order": "desc"
}
}
],
"size": 2
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你
归档时间: |
|
查看次数: |
6053 次 |
最近记录: |