如何在elasticsearch中的对象中更新嵌套字段

发布于 2025-02-10 14:27:50 字数 428 浏览 0 评论 0原文

假设我有以下文件:

{
  field: {
    status: "A"
  }
}

我想将状态字段更新为“ b”; 我在Elasticsearch中使用了下面的代码:

client.update({
          index: elasticIndex,
          id: "anything",
          doc: {
            "field.status": "B"
          }
        }).catch(console.error);

得到了:

{
  field: {
    status: "A"
  },
  "field.status": "B"
}

有人可以帮忙吗?

Assume I have document below:

{
  field: {
    status: "A"
  }
}

I want to update status field to "B";
I used code below in Elasticsearch:

client.update({
          index: elasticIndex,
          id: "anything",
          doc: {
            "field.status": "B"
          }
        }).catch(console.error);

And got this:

{
  field: {
    status: "A"
  },
  "field.status": "B"
}

Could anyone help please?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千鲤 2025-02-17 14:27:50

尝试一下

client.update({
  index: 'indexName',
  id: "id",
  body: {
    script: {
      inline: "ctx._source.status = params.status",
      lang: "painless",
      params: {
        status: "B"
      }
    }
  }
})

Try this

client.update({
  index: 'indexName',
  id: "id",
  body: {
    script: {
      inline: "ctx._source.status = params.status",
      lang: "painless",
      params: {
        status: "B"
      }
    }
  }
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文