Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan PHP dan Xunsearch untuk melaksanakan fungsi carian tapak penuh dan meningkatkan pengalaman pengguna

Gunakan PHP dan Xunsearch untuk melaksanakan fungsi carian tapak penuh dan meningkatkan pengalaman pengguna

WBOY
WBOYasal
2023-07-29 21:37:151865semak imbas

Gunakan PHP dan Xunsearch untuk melaksanakan fungsi carian tapak penuh untuk meningkatkan pengalaman pengguna

Dengan perkembangan pesat Internet, kandungan laman web menjadi semakin banyak, dan pengguna perlu mencari maklumat yang diperlukan dengan lebih cepat dan dengan tepat, jadi tapak penuh yang cekap dicapai Fungsi carian menjadi sangat penting. Sebagai bahasa pengaturcaraan sebelah pelayan yang biasa digunakan, PHP, digabungkan dengan Xunsearch, enjin carian teks penuh bahasa Cina sumber terbuka, boleh melaksanakan fungsi carian tapak penuh dengan mudah dan meningkatkan pengalaman pengguna.

1. Pengenalan kepada Xunsearch

Xunsearch ialah enjin carian teks penuh berprestasi tinggi, berkuasa, dan percuma Ia menyokong pembahagian perkataan Cina, carian sinonim, padanan kata kunci berbilang medan dan ciri-ciri lain semua jenis laman web dan aplikasi keperluan carian teks penuh.

2. Pemasangan dan konfigurasi Xunsearch

Pertama, kami perlu memuat turun dan memasang Xunsearch dari tapak web rasmi Xunsearch (https://www.xunsearch.com/). Proses pemasangan agak mudah dan tidak akan diterangkan secara terperinci di sini.

Selepas pemasangan selesai, kami perlu melakukan konfigurasi yang berkaitan. Masukkan folder sdk/php/app dalam direktori pemasangan, cari fail Main.php dan ubah suai parameter berikut: sdk/php/app文件夹,找到Main.php文件,修改以下参数:

$server = 'localhost'; // Xunsearch安装的服务器地址
$port = 8383; // Xunsearch服务端口,默认为8383
$index_name = 'your_index_name'; // 索引名,自定义

至此,Xunsearch的安装与配置工作就完成了。

三、创建全文索引

在我们开始实现全站搜索功能之前,我们需要先创建全文索引。在Xunsearch的安装目录中,有一个indexer.php文件,我们可以使用该文件来创建索引。

首先,使用以下命令生成indexer.php所需的配置文件:

php api/cli/phpcmd.php indexer --config-charset=utf8 --ini > api/cli/phpcmd.ini

然后,打开phpcmd.ini文件,修改以下参数:

[xs1]
project.name = your_project_name # 搜索项目名,自定义
#index = filenames # 需要被搜索的MySQL数据库表名,格式为:"数据库名.表名"的形式,多个表用逗号分隔
#index = table1,table2
charset = utf8 # 数据库连接使用的字符编码

配置完成后,我们可以使用以下命令来建立全文索引:

php api/cli/phpcmd.php indexer --all

这个命令会将所有内容添加到索引中,如有新内容添加进数据库,还需定期运行该命令以更新索引。

四、实现全站搜索功能

我们已经安装、配置并创建了全文索引,接下来我们开始编写PHP代码,实现全站搜索功能。

首先,我们需要一个搜索页,用户在该页面输入关键词进行搜索。以下是一个简单的搜索页面示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>全站搜索</title>
    <style>
        form {
            text-align: center;
            margin-top: 50px;
        }
        input[type=text] {
            padding: 6px;
            font-size: 16px;
        }
        input[type=submit] {
            padding: 6px 20px;
            font-size: 16px;
            background-color: #2980b9;
            color: #fff;
            border: none;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <form action="search.php" method="GET">
        <input type="text" name="keyword" placeholder="请输入关键词">
        <input type="submit" value="搜索">
    </form>
</body>
</html>

搜索页面代码很简单,主要是一个表单,用户输入关键词后点击"搜索"按钮进行搜索操作。

接下来,我们需要创建search.php文件,用于处理搜索请求并返回搜索结果。以下是search.php文件的代码示例:

<?php
require_once 'sdk/php/app/Main.php';

$xs = new XS($index_name); // 创建Xunsearch对象

$keyword = $_GET['keyword']; // 获取关键词

$search = $xs->search; // 获取Xunsearch搜索对象
$search->setQuery($keyword); // 设置搜索关键词
$search->setCharset('UTF-8'); // 设置字符编码

$result = $search->search(); // 执行搜索

foreach ($result as $doc) { // 遍历搜索结果
    echo '<h3>' . $doc->title . '</h3>';
    echo '<p>' . $doc->content . '</p>';
    echo '<hr>';
}

以上代码首先引入了Main.phprrreee

Pada ketika ini, pemasangan dan konfigurasi Xunsearch telah selesai.

3. Cipta indeks teks penuh

Sebelum kita mula melaksanakan fungsi carian tapak penuh, kita perlu mencipta indeks teks penuh terlebih dahulu. Dalam direktori pemasangan Xunsearch, terdapat fail indexer.php, yang boleh kami gunakan untuk mencipta indeks.

Mula-mula, gunakan arahan berikut untuk menjana fail konfigurasi yang diperlukan oleh indexer.php:

rrreee

Kemudian, buka fail phpcmd.ini dan ubah suai parameter berikut: 🎜rrreee🎜Konfigurasi Selepas selesai, kita boleh menggunakan arahan berikut untuk mencipta indeks teks penuh: 🎜rrreee🎜Arahan ini akan menambah semua kandungan pada indeks Jika kandungan baharu ditambahkan pada pangkalan data, anda perlu menjalankan arahan ini dengan kerap untuk mengemas kini indeks. 🎜🎜4. Laksanakan fungsi carian seluruh tapak 🎜🎜Kami telah memasang, mengkonfigurasi dan mencipta indeks teks penuh Seterusnya, kami mula menulis kod PHP untuk melaksanakan fungsi carian seluruh tapak. 🎜🎜Pertama, kami memerlukan halaman carian di mana pengguna boleh memasukkan kata kunci untuk mencari. Berikut ialah contoh halaman carian mudah: 🎜rrreee🎜Kod halaman carian adalah sangat mudah, terutamanya borang Selepas pengguna memasukkan kata kunci, klik butang "Cari" untuk melakukan operasi carian. 🎜🎜Seterusnya, kita perlu mencipta fail search.php untuk memproses permintaan carian dan mengembalikan hasil carian. Berikut ialah contoh kod fail search.php: 🎜rrreee🎜Kod di atas mula-mula memperkenalkan fail Main.php dan mencipta objek Xunsearch. Kemudian, dapatkan kata kunci yang dimasukkan oleh pengguna dan cari menggunakan objek carian Xunsearch. Akhirnya, hasil carian diulang dan dipaparkan pada halaman. 🎜🎜5. Ringkasan🎜🎜Dengan menggunakan PHP dan Xunsearch, kami melaksanakan fungsi carian seluruh tapak yang mudah. Pengguna boleh mencari maklumat yang mereka perlukan dengan cepat dan tepat, yang memberikan kemudahan yang hebat untuk pengalaman pengguna tapak web. 🎜🎜Sudah tentu, Xunsearch mempunyai banyak ciri lain, seperti menyokong carian Boolean, carian Pinyin, dsb. Jika anda mempunyai keperluan carian yang lebih lanjut, anda boleh meneroka lebih lanjut penggunaan Xunsearch. 🎜🎜Pelaksanaan fungsi carian tapak penuh bukan sahaja dapat meningkatkan pengalaman pengguna, tetapi juga meningkatkan kesan SEO tapak web dan menyuntik tenaga baharu ke dalam pembangunan tapak web. Saya harap artikel ini dapat membantu semua orang, terima kasih kerana membaca! 🎜

Atas ialah kandungan terperinci Gunakan PHP dan Xunsearch untuk melaksanakan fungsi carian tapak penuh dan meningkatkan pengalaman pengguna. 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