PHP dan Pembangunan Carian Manticore: Pelarasan prestasi utama untuk mengoptimumkan hasil carian
Pengenalan: Dalam era data besar, pelarasan prestasi utama untuk mengoptimumkan hasil carian adalah sangat penting. Artikel ini menerangkan cara untuk mencapai ini dengan membangunkan dengan PHP dan Carian Manticore, dan menyediakan contoh kod.
Pengenalan:
Dengan perkembangan pesat Internet, enjin carian telah menjadi salah satu cara utama untuk orang ramai mendapatkan maklumat. Oleh itu, cara meningkatkan ketepatan, kelajuan dan pengalaman pengguna hasil carian telah menjadi kebimbangan penting bagi perusahaan dan pembangun.
PHP ialah bahasa skrip sebelah pelayan yang popular digunakan secara meluas untuk pembangunan web. Manticore Search ialah sumber terbuka, enjin carian berprestasi tinggi yang serasi sepenuhnya dengan enjin carian Sphinx dan mempunyai lebih banyak ciri dan peningkatan baharu.
Dalam artikel ini, kami akan menumpukan pada tweak prestasi utama untuk membangunkan dengan PHP dan Carian Manticore untuk mengoptimumkan hasil carian.
Bahagian Pertama: Pasang dan Konfigurasi Manticore Search
Mula-mula, kita perlu memasang Manticore Search dan melaksanakan konfigurasi asas. Anda boleh memuat turun versi terkini Manticore Search dari laman web rasmi (https://manticoresearch.com/).
Selepas pemasangan selesai, ubah suai fail konfigurasi Carian Manticore (biasanya /etc/manticoresearch/manticore.conf) seperti berikut:
indexer { mem_limit = 1G } searchd { listen = 127.0.0.1:9306:mysql41 log = /var/log/manticoresearch/searchd.log query_log = /var/log/manticoresearch/query.log }
Berikut ialah parameter utama seperti had memori dan alamat pendengaran. Selepas melengkapkan konfigurasi, mulakan perkhidmatan Carian Manticore:
$ sudo systemctl start manticore
Bahagian 2: Cipta indeks dan import data
Sebelum menjalankan carian, kita perlu mencipta indeks dan mengimport data yang hendak dicari.
Katakan kita mempunyai pangkalan data yang menyimpan maklumat filem, kini kita ingin mencipta indeks supaya pengguna boleh mencari mengikut tajuk dan penerangan filem. Kami boleh mencipta indeks dengan melaksanakan contoh kod berikut:
$index = new SphinxClient; $index->SetServer('localhost', 9306); $index->SetConnectTimeout(1); $index->AddQuery('REPLACE INTO movies (id, title, description) VALUES (1, "The Shawshank Redemption", "Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.")'); $index->AddQuery('REPLACE INTO movies (id, title, description) VALUES (2, "The Godfather", "The aging patriarch of an organized crime dynasty transfers control of his clandestine empire to his reluctant son.")'); $index->RunQueries();
Di sini kami telah menggunakan perpustakaan klien Sphinx sumber terbuka yang menyediakan kaedah untuk berinteraksi dengan Manticore Search.
Bahagian 3: Lakukan Pengoptimuman Carian
Setelah kami menyelesaikan penciptaan indeks dan import data, kami boleh memulakan pengoptimuman carian.
Contoh berikut menunjukkan cara menggunakan Carian PHP dan Manticore untuk pengoptimuman carian asas:
$query = "redemption"; $search = new SphinxClient; $search->SetServer('localhost', 9306); $search->SetConnectTimeout(1); $search->SetMatchMode(SPH_MATCH_EXTENDED); $search->SetRankingMode(SPH_RANK_PROXIMITY_BM25); $search->SetSortMode(SPH_SORT_RELEVANCE); $result = $search->Query($query, 'movies'); while ($info = $search->GetArrayResult()) { foreach ($info['matches'] as $match) { $id = $match['id']; $weight = $match['weight']; // 处理搜索结果 } }
Di sini kami menetapkan mod padanan kepada mod lanjutan (SPH_MATCH_EXTENDED), mod penarafan kepada mod BM25 (SPH_RANK_PROXIMITY_BM25), dan kaedah pengisihan kepada perkaitan pengisihan ( SPH_SORT_RELEVANCE).
Melalui langkah pengoptimuman di atas, kami boleh memperoleh hasil carian yang lebih tepat dan lebih pantas.
Kesimpulan:
Artikel ini menerangkan cara membuat tweak prestasi utama pada hasil carian menggunakan PHP dan Carian Manticore. Dengan memasang dan mengkonfigurasi Carian Manticore, mencipta indeks dan mengimport data, dan melaksanakan pengoptimuman carian, kami boleh mendapatkan pengalaman carian yang lebih baik. Semoga contoh ini akan membantu pembangun mengoptimumkan hasil carian mereka.
Bahan rujukan:
Atas ialah kandungan terperinci Pembangunan Carian PHP dan Manticore: Tweak Prestasi Utama untuk Mengoptimumkan Hasil Carian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!