【发布时间】:2019-02-03 10:58:57
【问题描述】:
我已经编写了一个查询来从我的 ES 中获取每个 Id 的最新记录。 但是这个查询的结果只做内部排序,选择最新的记录。现在我需要按日期排序的结果。
这是我的查询:
{
"size":0,
"query":{
"bool":{
"must":[
{
"match":{
"base":"XYZ"
}
},
{
"match":{
"Type":"low"
}
}
]
}
},
"aggs":{
"sources":{
"terms":{
"field":"Id"
},
"aggs":{
"latest":{
"top_hits":{
"size":1,
"_source":{
"includes":[
"base",
"Type"
]
},
"sort":{
"orderDate":"desc"
}
}
}
}
}
}
}
【问题讨论】:
-
请分享一个示例文档和索引映射
-
示例文档:{“_index”:“XXXX”,“_type”:“logs”,“_id”:“bGd3qWgBnyB5Q6tB0Zjb”,“_version”:1,“_score”:null,“_source ": { "qtyFulfilled": 1.5, "@timestamp": "2019-02-01T14:30:27.784Z", "base": "BTC", "Type": "LIMIT", }, "fields": { “@timestamp”:[“2019-02-01T14:30:27.784Z”],“orderDate”:[“2019-02-01T14:30:27.727Z”]}
-
我的查询结果为我提供了每个 ID 的最新文档。比如 id 1 是最新的文档,然后 id 2 是最新的文档。但我也需要对这个最终结果的顺序进行排序。就像对聚合结果的排序一样。
-
您好,您分享了查询结果。我想知道您查询的所有字段在存储在弹性文件中的文档中的外观。
标签: elasticsearch