Maison > Article > développement back-end > Utilisez PHP et Xunsearch pour implémenter la fonction de recherche sur l'ensemble du site et améliorer l'expérience utilisateur
Utilisez PHP et Xunsearch pour implémenter la fonction de recherche sur l'ensemble du site afin d'améliorer l'expérience utilisateur
Avec le développement rapide d'Internet, le contenu du site Web devient de plus en plus abondant et les utilisateurs doivent trouver les informations requises plus rapidement et avec précision, ce qui permet d'obtenir un site complet efficace. La fonction de recherche devient particulièrement importante. En tant que langage de programmation côté serveur couramment utilisé, PHP, associé à Xunsearch, un moteur de recherche de texte intégral chinois open source, peut facilement mettre en œuvre des fonctions de recherche sur l'ensemble du site et améliorer l'expérience utilisateur.
1. Introduction à Xunsearch
Xunsearch est un moteur de recherche en texte intégral hautes performances, puissant, open source et gratuit. Il prend en charge la segmentation des mots chinois, la recherche de synonymes, la correspondance de mots clés multi-champs et d'autres fonctionnalités. toutes sortes de sites Web et d'applications.
2. Installation et configuration de Xunsearch
Tout d'abord, nous devons télécharger et installer Xunsearch à partir du site officiel de Xunsearch (https://www.xunsearch.com/). Le processus d'installation est relativement simple et ne sera pas décrit en détail ici.
Une fois l'installation terminée, nous devons effectuer les configurations pertinentes. Entrez le dossier sdk/php/app
dans le répertoire d'installation, recherchez le fichier Main.php
et modifiez les paramètres suivants : 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.php
rrreee
indexer.php
, que nous pouvons utiliser pour créer un index. Tout d'abord, utilisez la commande suivante pour générer le fichier de configuration requis par indexer.php
: rrreee
Ensuite, ouvrez le fichierphpcmd.ini
et modifiez les paramètres suivants : 🎜rrreee🎜Configuration Une fois terminé, nous pouvons utiliser la commande suivante pour créer un index de texte intégral : 🎜rrreee🎜Cette commande ajoutera tout le contenu à l'index Si du nouveau contenu est ajouté à la base de données, vous devez exécuter cette commande régulièrement. pour mettre à jour l'index. 🎜🎜4. Implémenter la fonction de recherche à l'échelle du site 🎜🎜Nous avons installé, configuré et créé l'index de texte intégral. Ensuite, nous commençons à écrire du code PHP pour implémenter la fonction de recherche à l'échelle du site. 🎜🎜Tout d'abord, nous avons besoin d'une page de recherche sur laquelle les utilisateurs peuvent saisir des mots-clés à rechercher. Voici un exemple simple de page de recherche : 🎜rrreee🎜Le code de la page de recherche est très simple, principalement un formulaire Une fois que l'utilisateur a saisi le mot-clé, cliquez sur le bouton « Rechercher » pour effectuer l'opération de recherche. 🎜🎜Ensuite, nous devons créer le fichier search.php
pour traiter les demandes de recherche et renvoyer les résultats de recherche. Ce qui suit est un exemple de code du fichier search.php
: 🎜rrreee🎜Le code ci-dessus introduit d'abord le fichier Main.php
et crée un objet Xunsearch. Ensuite, obtenez les mots-clés saisis par l'utilisateur et effectuez une recherche à l'aide de l'objet de recherche Xunsearch. Enfin, les résultats de la recherche sont itérés et affichés sur la page. 🎜🎜5. Résumé🎜🎜En utilisant PHP et Xunsearch, nous avons implémenté une fonction de recherche simple à l'échelle du site. Les utilisateurs peuvent trouver les informations dont ils ont besoin rapidement et avec précision, ce qui offre une grande commodité pour l'expérience utilisateur du site Web. 🎜🎜Bien sûr, Xunsearch possède de nombreuses autres fonctionnalités, telles que la prise en charge de la recherche booléenne, de la recherche Pinyin, etc. Si vous avez des besoins de recherche plus avancés, vous pouvez explorer davantage l'utilisation de Xunsearch. 🎜🎜La mise en œuvre de la fonction de recherche sur l'ensemble du site peut non seulement améliorer l'expérience utilisateur, mais également améliorer l'effet SEO du site Web et injecter une nouvelle vitalité dans le développement du site Web. J'espère que cet article pourra être utile à tout le monde, merci d'avoir lu ! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!