gpt4 book ai didi

elasticsearch - Elasticsearch 仅选择最大字段值不同的

转载 作者:行者123 更新时间:2023-12-02 22:59:28 25 4
gpt4 key购买 nike

我有包含版本号的文档:

{
"original_id" : "1234",
"version" : 1
}


{
"original_id" : "1234",
"version" : 2
}


{
"original_id" : "4567",
"version" : 1
}

我只需要选择具有不同ID和最大版本号的文档。

最终结果应该是:
[
{
"original_id": 1234,
"version" : 2
},
{
"original_id" : 4567,
"version" : 1
}
]

我对文档完全感到困惑-我应该使用aggs吗?我做到了,但我仍然得到了所有人。我只想要最高版本

在SQL中:

select distinct(original_id) as id, max(version) as version from docs grouping by id;



这是我当前的查询:
{
"from" : 0,
"size" : 25,
"sort": [{
"version": {
"order": "desc",
"mode": "max"
}
}],
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"match": {"original_id": "95936d0b-0de4-44ad-81d3-b95d3200c27f"}
}
]
}
},
"filter": {
"range": {
"start" : {
}
}
}
}
}
}

最佳答案

是的,您应该使用聚合。 。 .following是您要求的查询。
`

{
"aggs": {
"agg1": {
"terms": {
"field": "original_id",
"size": 0
},"aggs": {
"agg2": {
"max": {
"field": "version"
}
}
}
}
}

`

关于elasticsearch - Elasticsearch 仅选择最大字段值不同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39106962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com