gpt4 book ai didi

elasticsearch - 更新Elasticsearch文档

转载 作者:行者123 更新时间:2023-12-02 23:29:06 24 4
gpt4 key购买 nike

该代码按预期工作。但是,我不想更新第三个国家作为另一个文档,而是要更新第一个文档。

DELETE /test_index

PUT /test_index

PUT /test_index/doc/1
{
"parent": [
{
"name": "India",
"label": "IN"
},
{
"name": "China",
"label": "CN"
}
]
}

PUT /test_index/doc/2
{
"parent": [
{
"name": "Pakistan",
"label": "PK"
}
]
}

这样,文档ID 1将有3个国家:印度,中国和巴基斯坦。我想我需要使用doc_as_upsert参数更新API。但是我不确定如何编写JSON。

最佳答案

您可以使用update API进行脚本更新:

curl -XPOST 'localhost:9200/test_index/doc/1/_update' -d '{
"script" : {
"inline": "ctx._source.parent += ['name': name, 'label': label]",
"params" : {
"name" : "Pakistan",
"label": "PK"
}
}
}'

更新

如果要在批量查询中使用它,也可以
curl -XPOST 'localhost:9200/test_index/doc/_bulk' -d '
{ "update" : { "_id" : "1"} }
{ "script" : { "inline": "ctx._source.parent += ['name': name, 'label': label]", "lang" : "groovy", "params" : {"name" : "Pakistan", "label": "PK"}}}
'

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

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