elasticsearch - Elasticsearch - 从结构中删除字段
问题描述
我正在使用 Elasticsearch 6.5。
假设我的 Elasticsearch 文档如下所示:
"_source" : {
"field1" : "val1",
"field2" : "val2",
"struct1" : {
"inner_field1" : "inner val1",
"inner_field2" : "inner val2",
}
}
我想删除此结构中的一个内部字段。
我尝试了以下代码:
POST test_idx1/_doc/1/_update
{
"script": "ctx._source.remove('struct1.inner_field1');"
}
结果显示updated
,但没有任何变化。
如何执行这样的动作?
解决方案
您可以通过这种方式从所有现有文档中删除该字段,
POST test_idx1/_update_by_query?conflicts=proceed
{
"script" : "ctx._source.struct1.remove('inner_field1')",
"query" : {
"exists": { "field": "struct1.inner_field1" }
}
}
推荐阅读
- javascript - SweerAlert2 - 如何更改警报中的响应图像
- java - Java 中的自增运算符可以使用哪些类型的操作数?
- java - Hibernate - 选择 OneColumn 并以列表形式获取结果
- r - 如何从我的字符向量中删除前导制表符/空格?
- css - NPM 将多个目录中的多个 SCSS 文件合并到一个 css 文件中
- javascript - 如何合并单个对象值?
- curl - 卷曲帖子/curl:未指定 URL
- javascript - 隐藏滚动条并添加箭头
- python - 使用带有 python 破折号滑块的工具提示参数时出错
- c++ - 编写“抗内存不足”异常安全代码