gpt4 book ai didi

elasticsearch - elasticsearch更新一套

转载 作者:行者123 更新时间:2023-12-02 23:41:28 26 4
gpt4 key购买 nike

我试图仅在项目不在列表中时才更新列表字段。

有什么问题:

curl -X POST 'http://localhost:9200/my_index/my_doc/id/_update' -d 
'{ "script":
"{if !(ctx._source.my_field contains new_item) {ctx._source.my_field.add(new_item)}}"
, "params":{"new_item":"hopefully_new_text"}}'

无论如何,这都会添加项目,即使它存在也是如此。

有什么更聪明的方法吗?

最佳答案

这是有关MVEL解析行为的许多奇怪事情之一。如果您要删除最外面的{ },则会看到if语句中有语法错误,并且如果您要修复该错误,一切都会起作用:

curl -X POST 'http://localhost:9200/my_index/my_doc/id/_update' -d  '{
"script": "if (!(ctx._source.my_field contains new_item)) {ctx._source.my_field.add(new_item)}",
"params": {
"new_item": "hopefully_new_text"
}
}
'

关于elasticsearch - elasticsearch更新一套,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15186701/

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