Rumah > Artikel > pembangunan bahagian belakang > Cari dan pertanyaan menggunakan Solr dalam Beego
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:
52b189f45abba88b2989c5c1f30b7a34
< ;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>
b3814857fc46f0ca91c2651b3e91ccbf
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:
52b189f45abba88b2989c5c1f30b7a34
64531295cb863c6c1bc26fe1360fcf6c
<schema name="example-index" />
< ;/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"
)
func main() {
s, err := solr.Init("http://localhost:8983/solr") if err != nil { panic(err) }
}
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"
)
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
", err)
} else { fmt.Printf("Found %d results:
", res.Results.NumFound)
for _, doc := range res.Results.Docs { fmt.Printf("- id:%s title:%s
", doc["id"], doc["title"])
} }
}
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 BeegoAtas ialah kandungan terperinci Cari dan pertanyaan menggunakan Solr dalam Beego. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!