Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangunan Carian PHP dan Manticore: Tweak Prestasi Utama untuk Mengoptimumkan Hasil Carian

Pembangunan Carian PHP dan Manticore: Tweak Prestasi Utama untuk Mengoptimumkan Hasil Carian

PHPz
PHPzasal
2023-08-06 12:13:45956semak imbas

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:

  • Tapak web rasmi Manticore Search: https://manticoresearch.com/
  • Pustaka pelanggan Sphinx: https://github.com/pecl/sphinx

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!

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