首页 > 后端开发 > Golang > 正文

如何在 Go 中使用 Olivere/Elastic 在 ElasticSearch 中执行部分更新?

Linda Hamilton
发布: 2024-10-24 18:37:04
原创
566 人浏览过

How to Perform Partial Updates in ElasticSearch Using Olivere/Elastic in Go?

在 Go 中使用 Olivere/Elastic 更新 ElasticSearch 中的记录

使用 Olivere/Elastic 将记录插入 ElasticSearch 非常简单。但是,当涉及部分更新时,可能会缺少 UPDATE API 的文档。以下是如何在 Go 中将这个 API 与 Olivere/Elastic 结合使用。

解决方案:

要执行部分更新,您可以使用以下代码:

<code class="go">update, err := client.Update().Index("test3").Type("user").Id("2").Doc(map[string]interface{}{"location": message}).Do()
fmt.Println("updated id: ", update.Id)</code>
登录后复制

此代码使用索引 test3 中 ID 为 2 的文档的消息变量的值更新字段位置。

替代方法:

另一种已被报告为不成功的方法是:

<code class="go">update := client.Update().Index("test3").Type("user").Id("2").Script(elastic.NewScript("ctx._source.location = loc").Params(map[string]interface{}{"loc": message}).Lang("groovy"))
fmt.Println("updated id: ", update.Id)</code>
登录后复制

如果您遇到此方法的任何问题,第一个示例应该为在 Go 中使用 Olivere/Elastic 进行部分更新提供可靠的解决方案弹性搜索。

以上是如何在 Go 中使用 Olivere/Elastic 在 ElasticSearch 中执行部分更新?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!