当前位置: 首页 > 面试题库 >

更新Elasticsearch文档

陈实
2023-03-14
问题内容

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

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中索引了一个文档,如下所示: 我尝试通过以下命令更新计数字段: 但是,我收到了以下错误: 我到底做了什么,却不见了?我在http://www.elasticsearch.org/guide/reference/api/update.html跟踪文件,但它不起作用。 此外,我还包括父字段: 但还是没有成功。有人能帮我解决这个错误吗?

  • 我有一个elasticsearch服务器,我正在使用Jest客户机通过java服务器访问它,我正在寻找每次更新文档多个字段的最佳方法。 到目前为止,我查看了文档,发现有两种方法可以实现: 通过脚本进行部分更新:我认为它不适合多字段更新(因为我不知道修改的字段)。 整个文档更新:通过重新索引整个文档。 删除文档并对更新的版本进行索引是最好的方法吗?

  • 问题内容: 我正在尝试了解如何在Elasticsearch中更新索引文档。我不明白它是如何工作的?什么是该API指的是在做什么?假设您有一个带有嵌套文档的文档,您需要做什么来更新它? 删除文档然后索引“已更新”版本与普通更新之间有什么区别? 问题答案: 更新请求从Elasticsearch检索源,对其进行修改并将其索引回Elasticsearch。如果您已经具有使用更新的文档副本,则毫无意义。仅索

  • 问题内容: 有没有人有使用更新的示例?它已在此处进行了文档记录,但是文档尚不清楚,并且不包含有效的示例。我尝试了以下方法: 我得到 我想使用部分文档进行更新,但是update方法不使用任何名为“ doc”或“ document”的参数。 问题答案: 您快要准备好了,只需要将您的身体放在“ doc”字段中即可。使用elasticsearch-py进行部分更新的正确方法如下:

  • 问题内容: 我已将代码移植到NEST 2.0和Elasticsearch 2.0 我需要找到一种方法来更新已经存储在ES2中的文档 我正在使用部分对象技术: 如何使用NEST2做同样的事情? 问题答案: 您传递文档ID的方式有些变化。 今天看起来像: 要么 希望能帮助到你。

  • 我想知道是否有办法在过滤掉elasticsearch文档后更新它们。 假设我有一个包含以下文档的用户集合: 现在我需要做的是更新所有30岁以上用户的名字。查看大量文档并在谷歌上搜索数小时,包括以下文档http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/_updating_documents.html 我找不到办