gpt4 book ai didi

node.js - 更新所有文档中特定字段的 Elasticsearch 文档字段值

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:29 24 4
gpt4 key购买 nike

我有这样的文档。

{
"a":"test",
"b":"harry"
},
{
"a":""
"b":"jack"
}

我需要在给定索引的所有文档中将字段 a==""(空字符串)的文档更新为默认值 null。任何帮助表示赞赏。谢谢

最佳答案

使用Update by query with ingest

_update_by_query 还可以通过指定如下管道来使用摄取 Node 功能:

定义管道

PUT _ingest/pipeline/set-foo
{
"description" : "sets foo",
"processors" : [ {
"set" : {
"field": "a",
"value": null
}
} ]
}

然后你可以像这样使用它:

 POST myindex/_update_by_query?pipeline=set-foo
{
"query": {
"filtered": {
"filter": {
"script": {
"script": "_source._content.length() == 0"
}
}
}
}
}'

或者

    POST myindex/_update_by_query?pipeline=set-foo
{
"query": {
"bool" : {
"must" : {
"script" : {
"script" : {
"inline": "doc['a'].empty",
"lang": "painless"
}
}
}
}
}
}

关于node.js - 更新所有文档中特定字段的 Elasticsearch 文档字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52967103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com