Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ketahui fungsi pangkalan data dalam bahasa Go dan laksanakan operasi mendapatkan data Elasticsearch

Ketahui fungsi pangkalan data dalam bahasa Go dan laksanakan operasi mendapatkan data Elasticsearch

WBOY
WBOYasal
2023-07-30 21:25:30661semak imbas

Ketahui fungsi pangkalan data dalam bahasa Go dan laksanakan operasi pengambilan data Elasticsearch

Dalam beberapa tahun kebelakangan ini, Elasticsearch telah menjadi salah satu enjin carian dan analisis yang paling banyak digunakan dalam bidang pemprosesan data besar. Ia menyediakan keupayaan carian teks penuh yang berkuasa dan alat analisis dan visualisasi data yang fleksibel. Sebagai bahasa pembangunan yang mudah dan cekap, bahasa Go secara beransur-ansur telah digunakan secara meluas dalam pelbagai bidang. Artikel ini akan memperkenalkan cara mempelajari fungsi pangkalan data dalam bahasa Go dan menggunakan fungsi ini untuk melaksanakan operasi mendapatkan data Elasticsearch.

Terdapat banyak fungsi operasi pangkalan data untuk dipilih dalam bahasa Go, termasuk MySQL, PostgreSQL, MongoDB dan sebagainya. Untuk enjin carian seperti Elasticsearch, kami boleh menggunakan perpustakaan pihak ketiga untuk berinteraksi dengan mereka.

Pertama, kita perlu memperkenalkan perpustakaan Elasticsearch yang sepadan ke dalam bahasa Go. Anda boleh menggunakan arahan berikut untuk memasang:

go get github.com/olivere/elastic

Selepas pemasangan selesai, kami boleh mula menulis kod untuk melaksanakan operasi mendapatkan semula data Elasticsearch.

Pertama, kita perlu menyambung ke kelompok Elasticsearch. Anda boleh menggunakan fungsi elastic.NewClient untuk mencipta klien Elasticsearch dan lulus dalam parameter yang sepadan, seperti yang ditunjukkan di bawah: elastic.NewClient函数来创建一个Elasticsearch客户端,并传入相应的参数,如下所示:

client, err := elastic.NewClient(
    elastic.SetURL("http://localhost:9200"),
    elastic.SetSniff(false),
)
if err != nil {
    panic(err)
}

在以上代码中,我们指定了Elasticsearch集群的URL和关闭了集群嗅探功能。

接下来,我们可以使用client.Search函数来进行搜索操作。以下是一个简单的实例代码:

searchResult, err := client.Search().
    Index("myindex").
    Query(elastic.NewMatchPhraseQuery("title", "hello world")).
    From(0).Size(10).
    Do(ctx) // 执行搜索操作
if err != nil {
    panic(err)
}

for _, hit := range searchResult.Hits.Hits {
    // 处理搜索结果
    fmt.Printf("Document ID: %s
", hit.Id)
    fmt.Printf("Document Title: %s
", hit.Source["title"].(string))
    fmt.Printf("Document Content: %s
", hit.Source["content"].(string))
}

在以上代码中,我们指定了要搜索的索引名称为myindex,并使用elastic.NewMatchPhraseQuery函数指定了搜索的字段和关键词为titlehello world。我们还指定了返回结果的起始位置和返回数量。最后调用Do函数执行搜索操作。

搜索结果将以searchResult.Hits.Hitsrrreee

Dalam kod di atas, kami menentukan URL gugusan Elasticsearch dan menutup fungsi Menghidu kelompok.

Seterusnya, kita boleh menggunakan fungsi client.Search untuk melaksanakan operasi carian. Berikut ialah kod contoh mudah:

rrreee

Dalam kod di atas, kami menentukan nama indeks untuk dicari sebagai myindex dan menggunakan fungsi elastic.NewMatchPhraseQuery untuk menentukan carian Medan dan kata kunci ialah tajuk dan hello world. Kami juga menentukan kedudukan permulaan keputusan yang dikembalikan dan bilangan pulangan. Akhir sekali, panggil fungsi Do untuk melaksanakan operasi carian. 🎜🎜Hasil carian akan dikembalikan dalam bentuk searchResult.Hits.Hits, dan kami boleh mengulangi hasil ini dan memproses medan setiap hasil carian. Dalam kod di atas, kami mencetak ID, tajuk dan kandungan setiap hasil carian. 🎜🎜Selain carian teks penuh yang ringkas, Elasticsearch juga menyokong operasi pertanyaan yang lebih kompleks, seperti pertanyaan julat, pertanyaan berbilang medan, dsb. Kita boleh menggunakan sintaks pertanyaan yang disediakan oleh Elasticsearch untuk mencapai fungsi ini. 🎜🎜Untuk meringkaskan, artikel ini memperkenalkan cara mempelajari fungsi pangkalan data dalam bahasa Go dan menggunakan fungsi ini untuk melaksanakan operasi mendapatkan data Elasticsearch. Dengan menggunakan perpustakaan berkaitan Elasticsearch, kami boleh melaksanakan fungsi carian yang berkuasa dan memproses serta menganalisis hasil carian dengan mudah. Saya harap artikel ini dapat memberikan sedikit bantuan kepada semua orang dalam menggunakan Elasticsearch untuk mendapatkan semula data dalam pembangunan bahasa Go. 🎜

Atas ialah kandungan terperinci Ketahui fungsi pangkalan data dalam bahasa Go dan laksanakan operasi mendapatkan data Elasticsearch. 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