Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Membangunkan fungsi cadangan carian menggunakan PHP dan Carian Manticore

Membangunkan fungsi cadangan carian menggunakan PHP dan Carian Manticore

王林
王林asal
2023-08-05 13:41:061495semak imbas

Membangunkan fungsi cadangan carian menggunakan PHP dan Manticore Search

Dalam tapak web dan aplikasi moden, fungsi carian ialah komponen yang sangat penting. Untuk meningkatkan pengalaman pengguna, ciri cadangan carian digunakan secara meluas. Fungsi cadangan carian boleh memberikan cadangan carian yang berkaitan dan penyiapan automatik berdasarkan kata kunci yang dimasukkan oleh pengguna. Dalam artikel ini, kami akan membangunkan ciri cadangan carian mudah menggunakan PHP dan Carian Manticore.

Manticore Search ialah versi yang ditulis semula berdasarkan enjin carian sumber terbuka Sphinx, yang menyediakan prestasi yang lebih tinggi dan ciri yang lebih kaya. Ia menyokong fungsi seperti carian teks penuh, pengindeksan masa nyata dan carian geolokasi. Kami akan menggunakan Carian Manticore untuk membina ciri cadangan carian yang pantas dan cekap.

Pertama, kita perlu memasang Manticore Search pada pelayan. Ia boleh dipasang dengan arahan berikut:

$ sudo apt-get update
$ sudo apt-get install manticoresearch

Selepas pemasangan selesai, kita perlu mencipta indeks untuk menyimpan data carian kita. Dalam Carian Manticore, indeks ialah koleksi dokumen, setiap satu mengandungi satu atau lebih medan. Kita boleh mencipta indeks yang dipanggil "cadangan" menggunakan arahan berikut:

$ mysql -P 9306
mysql> CREATE TABLE suggestions(title TEXT, suggestion BIGINT) INDEX title;
mysql> quit

Seterusnya, kita boleh menggunakan PHP untuk berinteraksi dengan Manticore Search. Mula-mula, kita perlu memasang pakej manticoresearch/manticoresearch. Pemasangan boleh diselesaikan melalui Komposer: manticoresearch/manticoresearch包。可以通过Composer来完成安装:

$ composer require manticoresearch/manticoresearch

安装完成后,我们可以编写PHP代码来实现搜索建议功能。首先,我们需要建立与Manticore Search的连接:

<?php
require 'vendor/autoload.php';

use ManticoresearchClient;

$client = new Client();
$client->connect();

然后,我们可以编写一个函数来获取搜索建议。该函数将根据用户输入的关键词,在Manticore Search中执行搜索查询,并返回相关的搜索建议:

function getSuggestions($client, $query) {
    $params = [
        'index' => 'suggestions',
        'body' => [
            'query' => [
                'match' => [
                    'title' => [
                        'query' => $query,
                        'operator' => 'and'
                    ]
                ]
            ],
            'suggest' => [
                'suggestion' => [
                    'prefix' => $query,
                    'completion' => [
                        'field' => 'suggestion'
                    ]
                ]
            ]
        ]
    ];

    $response = $client->search($params);

    $suggestions = [];
    foreach ($response['suggest']['suggestion'][0]['options'] as $option) {
        $suggestions[] = $option['text'];
    }

    return $suggestions;
}

最后,我们可以编写一个简单的代码来测试搜索建议功能:

$query = $_GET['q'];

if ($query) {
    $suggestions = getSuggestions($client, $query);

    foreach ($suggestions as $suggestion) {
        echo $suggestion . "<br>";
    }
}

在上面的示例中,我们使用$_GET['q']来获取用户在搜索框中输入的关键词。然后,我们调用getSuggestionsrrreee

Selepas pemasangan selesai, kita boleh menulis kod PHP untuk melaksanakan fungsi cadangan carian. Pertama, kita perlu mewujudkan sambungan kepada Carian Manticore:

rrreee

Kemudian, kita boleh menulis fungsi untuk mendapatkan cadangan carian. Fungsi ini akan melaksanakan pertanyaan carian dalam Carian Manticore berdasarkan kata kunci yang dimasukkan oleh pengguna dan mengembalikan cadangan carian yang berkaitan:

rrreee

Akhirnya, kita boleh menulis kod mudah untuk menguji fungsi cadangan carian: 🎜rrreee🎜 Dalam contoh di atas , kami menggunakan $_GET['q'] untuk mendapatkan kata kunci yang dimasukkan oleh pengguna dalam kotak carian. Kemudian, kami memanggil fungsi getSuggestions untuk mendapatkan cadangan carian yang berkaitan dan memaparkannya pada halaman. 🎜🎜Ringkasan🎜🎜Dengan menggunakan PHP dan Manticore Search, kami boleh membangunkan fungsi cadangan carian yang pantas dan cekap dengan mudah. Manticore Search menyediakan carian teks penuh yang berkuasa dan keupayaan autolengkap, membolehkan kami memberikan pengalaman carian yang hebat dalam aplikasi. Saya harap artikel ini akan membantu anda mempelajari dan menggunakan Carian Manticore untuk membangunkan cadangan carian! 🎜

Atas ialah kandungan terperinci Membangunkan fungsi cadangan carian menggunakan PHP dan Carian Manticore. 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