Rumah >pembangunan bahagian belakang >tutorial php >Pembangunan Carian PHP dan Manticore: melaksanakan fungsi pratonton hasil carian yang cekap

Pembangunan Carian PHP dan Manticore: melaksanakan fungsi pratonton hasil carian yang cekap

WBOY
WBOYasal
2023-08-06 15:15:21761semak imbas

PHP dan Pembangunan Carian Manticore: Laksanakan fungsi pratonton hasil carian yang cekap

Enjin carian memainkan peranan penting dalam aplikasi web moden, membantu pengguna mencari maklumat yang mereka perlukan dengan cepat. Walau bagaimanapun, menyediakan fungsi pratonton dalam hasil carian boleh meningkatkan lagi pengalaman pengguna. Artikel ini akan memperkenalkan cara menggunakan Carian PHP dan Manticore untuk membina fungsi pratonton hasil carian yang cekap, dengan contoh kod.

Manticore Search ialah pelayan carian teks penuh berdasarkan enjin carian sumber terbuka Sphinx, yang menampilkan prestasi tinggi dan kebolehskalaan. Ia boleh disepadukan dengan mudah dengan PHP untuk menyediakan fungsi carian yang pantas dan cekap kepada aplikasi kami.

Pertama, kita perlu memasang dan mengkonfigurasi Carian Manticore. Sila pastikan anda telah memasang Carian Manticore dan telah mencipta indeks yang sesuai untuk menyimpan data kami. Maklumat terperinci tentang cara memasang dan mengkonfigurasi Carian Manticore boleh didapati dalam dokumentasi rasmi.

Di bawah ialah contoh mudah untuk menunjukkan cara menggunakan Carian Manticore untuk mencari dan mendapatkan pratonton hasil carian. Mari kita anggap bahawa kita sudah mempunyai indeks yang dipanggil "artikel" yang mengandungi kandungan beberapa artikel.

// 连接到Manticore Search服务器
$client = new SphinxClient();
$client->setServer('localhost', 9306);

// 设置搜索参数
$client->setMatchMode(SPH_MATCH_EXTENDED2);
$client->setLimits(0, 10); // 获取前10个结果

// 执行搜索
$result = $client->query('搜索关键词', 'articles');

// 获取搜索结果
if ($result) {
    // 获取每个搜索结果的ID
    $ids = array_keys($result['matches']);

    // 查询搜索结果的预览内容
    $previewQuery = sprintf('CALL SNIPPETS(%s, 'articles', %s)', $client->quote('搜索关键词'), implode(',', $ids));
    $previewResult = $client->query($previewQuery);

    // 输出搜索结果及其预览内容
    foreach ($previewResult['matches'] as $id => $match) {
        echo '搜索结果:' . $result['matches'][$id]['attrs']['title'] . '<br>';
        echo '预览内容:' . $previewResult['matches'][$id]['attrs']['snippet'] . '<br>';
        echo '<hr>';
    }
}

Dalam kod di atas, kami mula-mula mencipta objek SphinxClient dan menyambung ke pelayan Carian Manticore. Kemudian, kami menetapkan mod carian dan had pada bilangan hasil carian. Seterusnya, kami menanyakan kandungan pratonton menggunakan fungsi query方法执行搜索,并获取搜索结果的ID。然后,我们使用SNIPPETS, memberikannya kata kunci carian dan ID hasil carian. Akhir sekali, kami mengulangi hasil carian dan mengeluarkan setiap hasil dan kandungan pratontonnya.

Dengan kod sampel di atas, kami boleh melaksanakan fungsi pratonton hasil carian yang cekap dengan mudah. Apabila pengguna mencari, kami boleh memaparkan sebahagian daripada hasil carian untuk memberi mereka pemahaman yang lebih baik tentang hasil carian, sekali gus meningkatkan pengalaman pengguna.

Untuk meringkaskan, artikel ini memperkenalkan cara menggunakan PHP dan Carian Manticore untuk membangunkan fungsi pratonton hasil carian yang cekap. Kami menggunakan fungsi carian dan pratonton Carian Manticore dan menyediakan contoh kod mudah untuk melaksanakan fungsi ini. Saya harap artikel ini akan membantu anda dan membolehkan anda membangunkan aplikasi carian dengan lebih baik menggunakan Carian Manticore dan PHP.

Atas ialah kandungan terperinci Pembangunan Carian PHP dan Manticore: melaksanakan fungsi pratonton hasil carian yang cekap. 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