Maison > développement back-end > Golang > Comment effectuer des mises à jour partielles dans ElasticSearch à l'aide d'Olivere/Elastic in Go ?

Comment effectuer des mises à jour partielles dans ElasticSearch à l'aide d'Olivere/Elastic in Go ?

Linda Hamilton
Libérer: 2024-10-24 18:37:04
original
746 Les gens l'ont consulté

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

Mise à jour des enregistrements dans ElasticSearch avec Olivere/Elastic dans Go

L'insertion d'enregistrements dans ElasticSearch à l'aide d'Olivere/Elastic est simple. Cependant, lorsqu'il s'agit de mises à jour partielles, la documentation relative à l'API UPDATE peut faire défaut. Voici comment utiliser cette API avec Olivere/Elastic dans Go.

Solution :

Pour effectuer une mise à jour partielle, vous pouvez utiliser le code suivant :

<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>
Copier après la connexion

Ce code met à jour l'emplacement du champ avec la valeur de la variable de message pour le document avec l'ID 2 dans l'index test3.

Approche alternative :

Une approche alternative, qui a été signalée comme infructueuse, est :

<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>
Copier après la connexion

Si vous rencontrez des problèmes avec cette approche, le premier exemple devrait fournir une solution fiable pour les mises à jour partielles utilisant Olivere/Elastic dans Go avec ElasticSearch.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal