批量删除ElasticSearch 6+中文档的属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量删除ElasticSearch 6+中文档的属性相关的知识,希望对你有一定的参考价值。

我需要从ElasticSearch中的所有文档中删除特定属性。有没有办法做到这一点,可以通过Bulk API完成。我无法找到要批量删除ElasticSearch的属性的API。

有没有办法实现同样的目标。

我文档的示例部分:

{ “媒体”:{ “list1的”:[{ “标题”: “一个”}], “列表2”:[{ “标题”: “B”}]}}

删除相同的脚本:

{ “脚本”: “ctx._source.remove( 'media.list1')”, “查询”:{ “布尔”:{ “必须”:[{ “存在”:{ “字段”: “media.list1” }}]}}}

答案

如果您只想从文档中删除一个字段(而不是删除整个文档),则需要使用无痛脚本。请参阅此问题post作为编写脚本以从文档中删除字段的参考。

要更新索引中的所有文档,请使用无痛脚本删除Update By Query API中的字段,使用match_all作为“查询”来更新所有文档。

您不希望为此使用批量API。如果您想用新信息替换整个文档(更新),将使用批量API。

以上是关于批量删除ElasticSearch 6+中文档的属性的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch中文档操作,索引导入数据批量导入删除文档

elasticsearch中文档操作,索引导入数据批量导入删除文档

elasticsearch中文档操作,索引导入数据批量导入删除文档

ElasticSearch在JavaAPI中的操作(入门)

PHP操作Elasticsearch7.6

Elasticsearch:批量请求在 Elasticsearch 6.1.1 中引发错误