我有一组具有唯一数字运行ID的文档,我想找到运行ID最高的文档.
我可以做两个查询.
首先,我可以找到最高运行ID:
{
"size": 0,
"aggregations": {
"latest_run_id": {
"aggregations": {
"latest_run_id": {
"max": {"field": "run_id"}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
其次,我可以找到运行id的文件:
{
"filter": {
{"term": {"run_id": latest_run_id}}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法用一个查询来做到这一点?
Ada*_*ery 29
您可以通过组合"排序"和"大小"来实现此目的:
`{
"filter" : {
"match_all" : { }
},
"sort": [
{
"run_id": {
"order": "desc"
}
}
],
"size": 1
}`
Run Code Online (Sandbox Code Playgroud)
这将返回最高记录 run_id
可以使用top hits聚合检索保持最大值的整个文档
{
"size": 0,
"aggs":{
"doc_with_max_run_id": {
"top_hits": {
"sort": [
{
"latest_run_id": {
"order": "desc"
}
}
],
"size": 1
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
此外,通过修改 'size' 聚合参数,可以检索 n-top 文档。
归档时间: |
|
查看次数: |
15859 次 |
最近记录: |