gpt4 book ai didi

elasticsearch - Elasticsearch批量更新查询?

转载 作者:行者123 更新时间:2023-12-03 00:48:22 24 4
gpt4 key购买 nike

reading this article here之后,我无法将以下SQL转换为 flex dsl:

UPDATE myIndex
set field1 = staticValue1, field2 = staticValue2
Where {
"query": {
"bool": {
"must_not": {
"exists": {
"field": "cnpj_estabelecimento"
}}}}}

我怎样才能做到这一点?

最佳答案

使用Update By Query API时,您分为两个部分:

  • 查询。哪些元素将被更新。
  • 脚本。将进行哪些更改。

  • 对于脚本部分,您将不得不使用 Painless进行一些操作。不要相信这个名字:学习无痛就是痛苦(一开始)。

    现在,对于您的特定情况,您想要做的事情应该看起来像这样:
      POST /myIndex
    "query" : {
    "bool" : {
    "must_not" : {
    "exists" : {
    {
    "field": "cnpj_estabelecimento"
    }
    }
    }
    }
    },
    "script" : {
    "inline" : "ctx._source.field1= 'staticValue1'; ctx._source.field2= staticValue2;",
    "lang" : "painless"
    }
    }

    请注意,当您调用通过查询更新API时,是通过POST(而不是UPDATE)完成的。

    希望这会有所帮助! :D

    关于elasticsearch - Elasticsearch批量更新查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57436535/

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