首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ElasticSearch 6+中批量删除文档中的属性

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

Stack Overflow用户
提问于 2019-02-08 00:38:05
回答 1查看 1.8K关注 0票数 3

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

有没有办法达到同样的效果。

我的文档的示例部分:

代码语言:javascript
复制
{
  "media": {
    "list1": [
      {"title":"a"}
    ],
    "list2": [
      {"title":"b"}
    ]
  }
}

删除相同内容的脚本:

代码语言:javascript
复制
{
  "script": "ctx._source.remove('media.list1')",
  "query": {
    "bool": {
      "must": [
        {
          "exists": {
            "field": "media.list1"
          }
        }
      ]
    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2019-02-08 03:23:22

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

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

您不会想要使用批量API来实现这一点。如果您想用新信息替换整个文档(更新),将使用批量API。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54578094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档