原始数据类似
[
{
"doc_key": 'a',
"startsAt": '2024 年 1 月 29 日',
"status": 'a'
},
{
"doc_key": 'a',
"startsAt": '2024 年 1 月 30 日',
"status": 'b'
}
]
对上面样例 需要返回 doc_key=a, status=b的记录。
通过翻文档目前我实现的
{
"aggs": {
"unique_doc": {
"terms": {
"field": "doc_key", // 每个 doc_key 有多条记录
}
},
"aggs": {
"latest": {
"top_hits": {
"size": 1,
"sort": [
{
"@timestamp": {
"order": "desc"
}
}
]
}
},
"pagination": {
"bucket_sort": {
"size": 10,
"from": 0
}
}
}
}
}
问题: 没有实现最后一步状态过滤。
理想是在 top_hits 中能有个 filter 过滤status字段,然后结合bucket selector 过滤 hit count != 0 的桶。
请教各位大佬该怎么做?
