"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment effectuer des mises à jour partielles des enregistrements dans ElasticSearch à l'aide d'olivere/elastic dans Go ?

Comment effectuer des mises à jour partielles des enregistrements dans ElasticSearch à l'aide d'olivere/elastic dans Go ?

Publié le 2024-11-05
Parcourir:836

How to Perform Partial Record Updates in ElasticSearch Using olivere/elastic in Go?

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.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729739242. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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