Rumah > pembangunan bahagian belakang > Golang > Cari dan pertanyaan menggunakan Solr dalam Beego

Cari dan pertanyaan menggunakan Solr dalam Beego

WBOY
Lepaskan: 2023-06-23 10:54:38
asal
1524 orang telah melayarinya

Beego ialah rangka kerja web bahasa Go yang pantas, dan Solr ialah pelayan carian dan pertanyaan berdasarkan Lucene. Menggunakan kedua-duanya bersama-sama boleh memberikan keupayaan carian yang cekap kepada aplikasi web. Artikel ini akan memperkenalkan cara menggunakan Solr untuk carian dan pertanyaan dalam Beego.

Langkah 1: Pasang Solr
Sebelum anda mula menggunakan Solr, anda perlu memasang Solr terlebih dahulu. Solr boleh memuat turun versi terkini binari dari laman web rasmi (https://lucene.apache.org/solr/). Selepas memuat turun, nyahmampat Solr ke direktori tempatan, masukkan direktori yang dinyahmampat, dan jalankan arahan berikut untuk memulakan Solr:

./bin/solr start

Selepas Solr dimulakan, anda boleh mulakan ia dalam penyemak imbas Akses antara muka pengurusan Solr (http://localhost:8983/solr/). Jika anda dapat melihat antara muka pengurusan Solr, Solr telah berjaya dipasang.

Langkah 2: Cipta indeks Solr
Sebelum menjalankan Solr, anda perlu mentakrifkan indeks terlebih dahulu. Indeks Solr ialah koleksi data dengan struktur khusus yang digunakan untuk menyimpan data teks yang diperlukan untuk carian dan pertanyaan. Untuk membolehkan Solr menyediakan keupayaan carian untuk aplikasi Beego kami, kami perlu mencipta indeks yang sesuai dengan model data kami. Takrif indeks Solr terdiri daripada satu set fail XML khas yang dipanggil fail konfigurasi Solr. Mencipta fail konfigurasi Solr boleh dilakukan menggunakan alat pengurusan instance Solr atau dengan mengedit fail XML secara manual.

Langkah pertama dalam mencipta indeks Solr ialah mentakrifkan fail Schema.xml. Fail ini mentakrifkan maklumat medan yang disertakan dalam indeks Solr, lajur mana yang harus digunakan sebagai kunci utama, jenis medan, operasi setiap medan, dsb. Untuk mencipta Schema.xml dengan dua medan, anda boleh menambah kandungan berikut secara manual pada fail:


< ;schema name="example-index" version="1.0">

<fields>
    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
    <field name="title" type="string" indexed="true" stored="true" />
</fields>
<uniqueKey>id</uniqueKey>
Salin selepas log masuk

Dalam contoh di atas, kami mentakrifkan Skema yang mengandungi dua medan : Kunci utama bernama "id" dan tajuk bernama "title". Langkah seterusnya ialah menambah fail Index.xml pada fail konfigurasi Solr. Fail Index.xml ialah fail XML yang menentukan struktur indeks Solr yang akan dibina. Berikut ialah contoh fail Index.xml:


<schema name="example-index" />
Salin selepas log masuk

< ;/index>

Perkara di atas mengkonfigurasi fail konfigurasi indeks Solr sebagai indeks sampel, memastikan untuk menggantikan nama sampel dengan nama indeks sebenar. Selepas melengkapkan dua langkah di atas, fail konfigurasi indeks Solr telah berjaya dibuat. Untuk menggunakan indeks ini dalam Solr, anda perlu memuat naik indeks ke contoh Solr:

./bin/solr create -c example-index -d ./conf

Arahan ini akan mencipta a Buat indeks baharu bernama "example-index" dan arahkan folder konfigurasi Solr ke folder "conf" dalam direktori semasa.

Langkah 3: Gunakan Solr dalam Beego
Untuk menggunakan Solr dalam Beego, anda perlu memasang pustaka klien Solr bahasa Go. Perintah yang disertakan dalam pustaka boleh disemak daripada GitHub:

pergi dapatkan github.com/rtt/Go-Solr

Dalam aplikasi Beego, anda perlu membuat sambungan Solr terlebih dahulu. Ini boleh dilakukan dengan mencipta objek Solr baharu:

import (

"github.com/rtt/Go-Solr"
Salin selepas log masuk

)

func main() {

s, err := solr.Init("http://localhost:8983/solr")
if err != nil {
    panic(err)
}
Salin selepas log masuk

}

Seterusnya, anda boleh menggunakan objek Solr untuk melakukan operasi carian dan pertanyaan. Berikut ialah contoh yang menunjukkan cara melaksanakan pertanyaan teks dalam Solr:

import (

"fmt"
"github.com/rtt/Go-Solr"
Salin selepas log masuk

)

func main() {

s, err := solr.Init("http://localhost:8983/solr")
if err != nil {
    panic(err)
}

query := solr.NewQuery()
query.Q("title:Solr")
res, err := s.Search("example-index", query)
if err != nil {
    fmt.Printf("Error searching: %s
Salin selepas log masuk

", err)

} else {
    fmt.Printf("Found %d results:
Salin selepas log masuk

", res.Results.NumFound)

    for _, doc := range res.Results.Docs {
        fmt.Printf("- id:%s title:%s
Salin selepas log masuk

", doc["id"], doc["title"])

    }
}
Salin selepas log masuk

}

Dalam contoh di atas, objek pertanyaan Solr mula-mula dibuat dan kemudian digunakan semasa mencari Selepas carian, ID dan tajuk setiap dokumen yang sepadan boleh dilihat dengan menggelung melalui set keputusan

Menggunakan Solr boleh menyediakan keupayaan carian dan pertanyaan yang berkuasa untuk aplikasi Beego Dalam artikel ini, kami memperkenalkan cara memasang Solr dan membuat indeks Solr Kemudian, kami menunjukkan cara menggunakan bahasa Go dalam perpustakaan Pelanggan untuk melakukan operasi carian dan pertanyaan . Menggabungkan kaedah ini memudahkan untuk menambah keupayaan carian yang cekap pada aplikasi Beego

Atas ialah kandungan terperinci Cari dan pertanyaan menggunakan Solr dalam Beego. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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