2016-06-23 12 views
1

私はここで述べたように移動して弾性検索にレコードを挿入しています:https://github.com/olivere/elastic ここで、部分的に更新する必要がある場合( 'name' )、それから私はUPDATE APIを使いたい。私はoilvere/elasticでこのAPI /関数を使用する方法を記述したドキュメントを見つけることができません。誰かがこれを以前に使ったことがあり、これで私を助けてくれるのだろうかと思います。googleでolivere/elasticを使用してElasticSearchのレコードを更新する

答えて

5

だから、私はついにこのことを働かせました。ここで私はそれを完了するために使用されたコードです。

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) 

希望すると、誰かに役立ちます。

関連する問題