Cara menggunakan Sphinx untuk carian teks penuh dalam pembangunan PHP
Sphinx ialah enjin carian teks penuh berprestasi tinggi yang sesuai untuk keperluan carian teks penuh dalam pelbagai bahasa. Untuk pembangunan PHP, Sphinx menyediakan API dan pemalam untuk penyepaduan mudah ke dalam aplikasi PHP sedia ada. Dalam artikel ini, kami akan menerangkan cara menggunakan Sphinx untuk carian teks penuh.
Pemasangan Sphinx sangat mudah, cuma jalankan beberapa arahan pada sistem Linux anda. Berikut ialah langkah-langkah untuk memasang Sphinx pada sistem Ubuntu:
(1) Kemas kini senarai pakej APT
sudo apt-get update
(2) Pasang Sphinx
sudo apt-get install sphinxsearch
(3) Mulakan Sphinx Service
sudo service sphinxsearch start
Fail konfigurasi Sphinx ialah /etc/sphinxsearch/sphinx.conf. Dalam fail ini kita boleh menentukan tetapan dan indeks global Sphinx. Berikut ialah contoh fail konfigurasi untuk mengindeks data daripada MySQL ke dalam Sphinx:
source src1
{
type = mysql
sql_host = localhost
sql_user = username
sql_pass = password
sql_pass = password
lalai ialah 3306
sql_query =
SELECT id, title, content FROM article
sql_attr_uint = category_id
}
index_my_index
{
sumber = src1
laluan = /var/lib/sphinxsearch/data/set_my
morfologi = stem_en
min_prefix_len = 3
min_infix_len = 1}
dicari
listen = 127.0.0.1:9312
log d = /var/log/sfinxlogsearch/searchd query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinxsearch/searchd.pid
max_matches = 1000
}
Dalam fail konfigurasi ini, kami mentakrifkan sumber data bernama src1 , sambungkan ke pangkalan data MySQL dan mentakrifkan medan yang akan diambil daripadanya. Kemudian, kami menentukan indeks bernama my_index untuk mengindeks sumber src1 ke laluan yang ditentukan. Akhir sekali, kami mentakrifkan perkhidmatan carian yang mendengar pada port 9312 dan menghidupkan log pertanyaan.
Menyambung ke Sphinx menggunakan PHP
$cl = new SphinxClient();
$cl->setServer("localhost", 9312);
//Hasil carian
$keywords = "Sphinx";
//Output results
foreach ($result['match'] as $doc => $ padanan) {
";
}
Dalam contoh ini, kita mula-mula membuat instantiate Buat objek SphinxClient dan nyatakan hos dan port pelayan Sphinx. Kami kemudian melakukan carian, menentukan kata kunci pertanyaan untuk dicari dan nama indeks untuk dicari. Akhir sekali, kami mengulangi hasil dan output padanan ID dokumen, pemberat dan atribut.
Atas ialah kandungan terperinci Cara menggunakan Sphinx untuk carian teks penuh dalam pembangunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!