Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangunan Carian PHP dan Manticore: cipta paparan hasil carian yang unik

Pembangunan Carian PHP dan Manticore: cipta paparan hasil carian yang unik

WBOY
WBOYasal
2023-08-06 10:18:151544semak imbas

PHP dan Pembangunan Carian Manticore: Cipta paparan hasil carian yang unik

Ikhtisar:
Dalam era Internet moden, enjin carian sudah pasti menjadi salah satu alat pilihan untuk pengguna mendapatkan maklumat. Dan untuk pembangun tapak web dan apl, menyediakan pembentangan hasil carian yang cekap, tepat dan unik adalah penting. Artikel ini akan memperkenalkan cara menggunakan Carian PHP dan Manticore untuk membangunkan dan mengoptimumkan paparan hasil carian.

Pengenalan kepada Manticore Search:
Manticore Search ialah perkhidmatan carian teks penuh yang dibangunkan berdasarkan enjin carian sumber terbuka Sphinx. Ia menyediakan prestasi tinggi, kebolehskalaan dan keupayaan carian komprehensif. Sangat mudah untuk menggunakan PHP untuk menyambung dan menanyakan perkhidmatan Carian Manticore, membolehkan kami memperoleh data hasil yang tepat berdasarkan kata kunci carian.

  1. Pasang dan konfigurasikan Manticore Search:
    Mula-mula, kita perlu memasang dan mengkonfigurasi Manticore Search. Manticore Search boleh dimuat turun dan dipasang dari laman web rasmi (https://manticoresearch.com/). Selepas pemasangan berjaya, kami perlu melakukan konfigurasi asas, termasuk definisi indeks, konfigurasi perkhidmatan carian, dsb. Untuk butiran konfigurasi khusus, sila rujuk dokumentasi rasmi Carian Manticore.
  2. Sambung ke perkhidmatan Carian Manticore:
    Dalam PHP, kami boleh menggunakan sambungan rasmi "manticore" yang disediakan oleh Carian Manticore, atau gunakan sambungan pihak ketiga "sphinxapi" untuk menyambung dan bertanya perkhidmatan Carian Manticore.

Kod sampel menggunakan sambungan rasmi "manticore" adalah seperti berikut:

// Sambungkan perkhidmatan Carian Manticore
$conn = new ManticoreSe();
$conn->connect('localhost', 9306);

// Carian kata kunci
$kata kunci = 'PHP';
$res = $conn->query($keyword, 'my_index');
if ($res && $res->getTotal() > 0 ) {

// 遍历搜索结果
foreach ($res->getMatches() as $match) {
    // 处理搜索结果数据
    $id = $match['id'];
    $title = $match['attrs']['title'];
    $content = $match['attrs']['content'];
    // ...
}

}

  1. Paparan berdasarkan hasil carian:
    Selepas mendapat hasil carian, kami perlu memaparkan dengan sewajarnya. Berikut ialah beberapa contoh kod untuk memaparkan hasil carian dengan cara yang unik.

a) Serlahkan kata kunci carian:
Serlahkan kata kunci dalam hasil carian boleh membantu pengguna mencari maklumat yang berkaitan dengan lebih mudah. Kita boleh menggunakan fungsi terbina dalam PHP dan tag HTML untuk mencapai penyerlahan kata kunci.

$highlightedTitle = preg_replace('/('.$keyword.')/i', '$1128dba7a3a77be0113eb0bea6ea0a5d0', $title);
$highlightedContent = preg_replace('/('.$keyword.' )/i', '$1128dba7a3a77be0113eb0bea6ea0a5d0', $content);

gema "684271ed9684bde649abda8831d4d355".$highlightedTitle."39528cedfa926ea0c01e69ef5b2ea9b0";
echo "e388a4556c0f65e1904146cc1a846bee".$ highlightedContent."94b3e26ee717c64999d7867364b1b4a3";

b) Isih dan paparan berat:
Manticore Search membolehkan kami menetapkan pengisihan dan pemberat untuk hasil carian. Kami boleh menggunakan kedudukan dan pemberat ini untuk memaparkan hasil carian yang lebih disasarkan dan boleh disesuaikan.

$res->setSortMode(SPH_SORT_ATTR_DESC, 'weight');
$res->setFieldWeights(array('title'=>10, 'content'=>5));

foreach ($res ->getMatches() sebagai $match) {

$id = $match['id'];
$title = $match['attrs']['title'];
$content = $match['attrs']['content'];
$weight = $match['weight'];

echo "<h3>".$title."</h3>";
echo "<p>".$content."</p>";
echo "<p>权重: ".$weight."</p>";

}

Kesimpulan:
Dengan menggunakan PHP dan Carian Manticore, kami boleh membangunkan dan mengoptimumkan paparan hasil carian dengan mudah. Dengan menyerlahkan kata kunci, kedudukan dan pemberat, kami boleh mencipta halaman hasil carian yang unik dan mesra pengguna, meningkatkan pengalaman pengguna dan menyediakan perkhidmatan mendapatkan maklumat yang lebih tepat. Dalam aplikasi praktikal, kami boleh menyesuaikan lagi paparan hasil carian mengikut keperluan untuk memenuhi keperluan senario yang berbeza.

Atas ialah kandungan terperinci Pembangunan Carian PHP dan Manticore: cipta paparan hasil carian yang unik. 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