在elasticsearch中,我有像post_en
这样的数据作为索引,多个帖子保存在像id, title, description, price, status
这样的字段中。
现在我如何可以更新特定的字段只为每个职位与使用批量。(与单一职位,我可以很容易地更新字段。)
下面是一个用于批量请求的json示例。
{"_index":"post_en","_id":"966156"}
{"id":966156,"status":2}
{"_index":"post_en","_id":"966157"}
{"id":966157,"title":"some title","status":1}
使用这个json,它更新了给定的字段,但也删除了其他现有的字段,这意味着整个对象被替换为给定的更新对象。但我只想更新给定的字段,并保持其余字段不变。
1条答案
按热度按时间fd3cxomn1#
您可能需要执行更新而不是插入(doc_as_upsert选项)
在此处引用文档
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html#bulk-update
更新操作负载支持以下选项:doc(部分文档)、upsert、doc_as_upsert、script、params(用于脚本)、lang(用于脚本)和_source。有关选项的详细信息,请参阅更新文档。
已创建具有Map的索引
索引2个文档
已执行批量操作
搜索时