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

Linda Hamilton
Freigeben: 2024-10-24 12:03:02
Original
724 Leute haben es durchsucht

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.

<code class="go">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)</code>
Nach dem Login kopieren

Alternativer Ansatz (funktioniert nicht)

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

<code class="go">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)</code>
Nach dem Login kopieren

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.

Das obige ist der detaillierte Inhalt vonWie führe ich Teilaktualisierungen von Datensätzen in ElasticSearch mit olivere/elastic in Go durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage