一尘不染

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

elasticsearch

我正在使用go在elasticsearch中插入一条记录,如下所示:https :
//github.com/olivere/elastic
现在,如果我必须部分更新它(假设如果只有一个条目,例如“ name”),那么我想使用UPDATE
API。我找不到任何文档来描述如何在油膜/弹性橡胶中使用此API /函数。我想知道是否有人以前使用过此方法,可以在此方面帮助我。


阅读 980

收藏
2020-06-22

共1个答案

一尘不染

所以,我终于使这件事起作用了。这是我用来完成代码的代码。

update, err := client.Update().Index("test3").Type("user").Id("2").Doc(map[string]interface{}{"location": message}).Do()
fmt.Println("updated id: ", update.Id)

这对我来说很好。

我尝试了另一种方法来更新它,但是它不起作用。我将其张贴在这里,以便可以查看和检查。是这样的。

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)

希望这对某人有帮助!

2020-06-22