Comment mettre à jour un enregistrement dans ElasticSearch à l'aide d'olivere/elastic dans Go ?
Lorsque vous travaillez avec ElasticSearch, la mise à jour des enregistrements est souvent nécessaire. Le package olivere/elastic pour Go offre un ensemble complet de fonctionnalités pour interagir avec ElasticSearch, y compris les mises à jour d'enregistrements.
Mise à jour partielle des enregistrements à l'aide de l'API UPDATE
Les mises à jour partielles des enregistrements permettent pour les modifications apportées à des champs spécifiques dans un document. Olivere/elastic fournit la méthode Update pour faciliter les mises à jour partielles. L'extrait de code suivant montre comment mettre à jour un seul champ (« nom ») à l'aide de l'API UPDATE.
update, err := client.Update().
Index("test3").
Type("user").
Id("2").
Doc(map[string]interface{}{"name": "Updated Name"}).
Do()
if err != nil {
// Handle error
}
fmt.Println("updated id: ", update.Id)
Approche alternative (ne fonctionne pas)
Une approche alternative aux mises à jour partielles utilise la méthode Script. Cependant, cette approche s’est révélée inefficace. L'exemple suivant illustre l'approche alternative tentée.
update := client.Update().
Index("test3").
Type("user").
Id("2").
Script(elastic.NewScript("ctx._source.name = name").
Params(map[string]interface{}{"name": "Updated Name"}).
Lang("groovy"))
fmt.Println("updated id: ", update.Id)
En utilisant la méthode Update et Doc pour spécifier le champ mis à jour, vous pouvez mettre à jour efficacement les enregistrements dans ElasticSearch en utilisant olivere/elastic dans Go.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3