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>
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>
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!