Membangunkan fungsi cadangan carian menggunakan PHP dan Carian Manticore

王林
Lepaskan: 2023-08-05 13:42:01
asal
1570 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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

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

use ManticoresearchClient;

$client = new Client();
$client->connect();
Salin selepas log masuk

然后,我们可以编写一个函数来获取搜索建议。该函数将根据用户输入的关键词,在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;
}
Salin selepas log masuk

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

$query = $_GET['q'];

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

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

在上面的示例中,我们使用$_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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan