Rumah > pembangunan bahagian belakang > Golang > API permintaan titik-dalam-masa Elasticsearch di Golang

API permintaan titik-dalam-masa Elasticsearch di Golang

王林
Lepaskan: 2024-02-13 15:39:21
ke hadapan
908 orang telah melayarinya

Golang 中的 Elasticsearch 时间点请求 API

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.

Kandungan soalan

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.

Penyelesaian

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),
)
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan