Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melakukan Kemas Kini Separa dalam ElasticSearch Menggunakan Olivere/Elastic dalam Go?

Bagaimana untuk Melakukan Kemas Kini Separa dalam ElasticSearch Menggunakan Olivere/Elastic dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-10-24 18:37:04545semak imbas

How to Perform Partial Updates in ElasticSearch Using Olivere/Elastic in Go?

Mengemas kini Rekod dalam ElasticSearch dengan Olivere/Elastic in Go

Memasukkan rekod ke dalam ElasticSearch menggunakan Olivere/Elastic adalah mudah. Walau bagaimanapun, apabila ia datang kepada kemas kini separa, dokumentasi untuk API KEMASKINI mungkin kurang. Begini cara anda boleh menggunakan API ini dengan Olivere/Elastic in Go.

Penyelesaian:

Untuk melakukan kemas kini separa, anda boleh menggunakan kod berikut:

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

Kod ini mengemas kini lokasi medan dengan nilai pembolehubah mesej untuk dokumen dengan ID 2 dalam ujian indeks3.

Pendekatan Alternatif:

Pendekatan alternatif, yang telah dilaporkan sebagai tidak berjaya, ialah:

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

Jika anda menghadapi sebarang isu dengan pendekatan ini, contoh pertama harus memberikan penyelesaian yang boleh dipercayai untuk kemas kini separa menggunakan Olivere/Elastic in Go with ElasticSearch.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Kemas Kini Separa dalam ElasticSearch Menggunakan Olivere/Elastic dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn