gpt4 book ai didi

基于查询的 Elasticsearch upsert

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

两年前有人问how to do upserts when you don't know a document's id . (未接受的)答案引用了 feature request
这导致了 _update_by_query API .

然而_update_by_query如果不存在命中则不允许插入,因此它不是真正的 upsert,而只是另一种更新方式。

有没有办法在没有 _id 的情况下进行 upsert然而?我知道我的查询将始终返回一个或零个结果。还是我被迫做多个请求(并自己保持唯一性)?

最佳答案

这在目前看来是不可能的。 _update提供 upsert属性,但这不适用于 _update_by_query很遗憾。以下只是给你一个关于 Unknown key for a START_OBJECT in [upsert]. 的错误

POST website/doc/_update_by_query?conflicts=proceed
{
"query": {
"term": {
"url": "http://foo.com"
}
},
"script": {
"inline": "ctx._source.views+=1",
"lang": "painless"
},
"upsert": {
"views": 1,
"url": "http://foo.com"
}
}

关于基于查询的 Elasticsearch upsert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44391459/

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