Aktualisieren von Datensätzen in ElasticSearch mit Olivere/Elastic in Go
Das Einfügen von Datensätzen in ElasticSearch mit Olivere/Elastic ist unkompliziert. Bei Teilaktualisierungen kann es jedoch vorkommen, dass die Dokumentation zur UPDATE-API fehlt. So können Sie diese API mit Olivere/Elastic in Go verwenden.
Lösung:
Um ein Teilupdate durchzuführen, können Sie den folgenden Code verwenden:
<code class="go">update, err := client.Update().Index("test3").Type("user").Id("2").Doc(map[string]interface{}{"location": message}).Do() fmt.Println("updated id: ", update.Id)</code>
Dieser Code aktualisiert die Feldposition mit dem Wert der Nachrichtenvariablen für das Dokument mit der ID 2 im Index test3.
Alternativer Ansatz:
Ein alternativer Ansatz, der als erfolglos gemeldet wurde, ist:
<code class="go">update := client.Update().Index("test3").Type("user").Id("2").Script(elastic.NewScript("ctx._source.location = loc").Params(map[string]interface{}{"loc": message}).Lang("groovy")) fmt.Println("updated id: ", update.Id)</code>
Wenn bei diesem Ansatz Probleme auftreten, sollte das erste Beispiel eine zuverlässige Lösung für Teilaktualisierungen mit Olivere/Elastic in Go with bieten ElasticSearch.
Das obige ist der detaillierte Inhalt vonWie führe ich Teilaktualisierungen in ElasticSearch mit Olivere/Elastic in Go durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!