„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie führe ich Teilaktualisierungen von Datensätzen in ElasticSearch mit olivere/elastic in Go durch?

Wie führe ich Teilaktualisierungen von Datensätzen in ElasticSearch mit olivere/elastic in Go durch?

Veröffentlicht am 05.11.2024
Durchsuche:753

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

Wie aktualisiere ich einen Datensatz in ElasticSearch mit olivere/elastic in Go?

Bei der Arbeit mit ElasticSearch ist die Aktualisierung von Datensätzen häufig erforderlich. Das olivere/elastic-Paket für Go bietet einen umfassenden Satz an Funktionen für die Interaktion mit ElasticSearch, einschließlich Datensatzaktualisierungen.

Teilweise Datensatzaktualisierung mithilfe der UPDATE-API

Teilweise Datensatzaktualisierungen ermöglichen für Änderungen an bestimmten Feldern innerhalb eines Dokuments. Olivere/elastic bietet die Update-Methode, um Teilaktualisierungen zu ermöglichen. Der folgende Codeausschnitt zeigt, wie ein einzelnes Feld („Name“) mithilfe der UPDATE-API aktualisiert wird.

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)

Alternativer Ansatz (funktioniert nicht)

Ein alternativer Ansatz für Teilaktualisierungen verwendet die Skriptmethode. Es wurde jedoch berichtet, dass dieser Ansatz unwirksam ist. Das folgende Beispiel veranschaulicht den versuchten alternativen Ansatz.

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)

Durch die Verwendung der Update-Methode und von Doc zur Angabe des aktualisierten Felds können Sie Datensätze in ElasticSearch mithilfe von olivere/elastic in Go effektiv aktualisieren.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729739242 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3