Di Golang, Elasticsearch ialah enjin carian dan analisis teragih yang sangat popular. Ia mempunyai fungsi yang berkuasa dan bahasa pertanyaan yang fleksibel untuk memenuhi pelbagai keperluan pengambilan data. Antaranya, API permintaan titik masa ialah ciri penting Elasticsearch, yang membolehkan kami mendapatkan dan mengagregat data mengikut julat masa. Dalam artikel ini, editor PHP Xinyi akan memperkenalkan secara terperinci penggunaan dan langkah berjaga-jaga API permintaan titik masa Elasticsearch di Golang untuk membantu pembaca memahami dan menggunakan fungsi ini dengan lebih baik.
Saya cuba menggunakan api titik dalam masa dalam golang menggunakan perpustakaan go-elasticsearch rasmi. Saya tidak dapat mencari sebarang dokumentasi yang menerangkan cara menggunakannya.
Saya telah dapat mencipta OpenPointInTime
对象并检索 PIT id。我不知道如何处理它或将其放置在 elasticsearch.Client.Search
kedudukan dalam fungsi. Saya juga tidak dapat mencari contoh.
Bolehkah sesiapa memberi contoh asas menggunakan perpustakaan rasmi.
Selepas menyemak imbas isu tertutup pada repositori github perpustakaan elasticsearch, saya menjumpai utas isu ini: https://www.php.cn/link/4bdb6179647296e518bd72e62d3bf5c62d3bf5cn Menurut benang ini, saya perlu mendapatkan id pit daripada respons
dan menambahnya pada badan. Ini berkesan untuk saya:
var query_buffer bytes.Buffer body := ` { "query": { "term": { "_id": "AkUN7YUB2JzVdyKtJ8bD" } }, "pit": { "id": "your pit id here", "keep_alive": "3m" } } ` es, _ := elasticsearch.NewDefaultClient() json.NewDecoder(&query_buffer).Decode(&body) res, err := es.Search( es.Search.WithAllowPartialSearchResults(true), es.Search.WithBody(&query_buffer), )
Atas ialah kandungan terperinci API permintaan titik-dalam-masa Elasticsearch di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!