Maison  >  Article  >  développement back-end  >  Utilisez PHP et Xunsearch pour améliorer l'effet de recherche des sites Web de forums

Utilisez PHP et Xunsearch pour améliorer l'effet de recherche des sites Web de forums

王林
王林original
2023-08-02 15:37:07654parcourir

Utilisez PHP et Xunsearch pour améliorer l'effet de recherche des sites Web de forum

Introduction :
Avec le développement d'Internet, les sites Web de forum sont devenus une plate-forme importante permettant aux gens d'échanger des idées et des opinions. Cependant, à mesure que le nombre de messages sur les forums continue d'augmenter, les méthodes traditionnelles de recherche dans les bases de données ne peuvent souvent pas répondre aux exigences des utilisateurs en matière de résultats de recherche de messages. Afin d'améliorer l'effet de recherche et l'expérience utilisateur du site Web du forum, nous pouvons introduire PHP et Xunsearch pour obtenir une recherche de messages plus efficace. Cet article explique comment utiliser PHP et Xunsearch pour améliorer l'effet de recherche des sites Web de forum et fournit des exemples de code correspondants à titre de référence.

1. Qu'est-ce que Xunsearch ?
Xunsearch est un moteur de recherche en texte intégral basé sur PHP, qui offre de puissantes capacités de recherche en texte intégral et des résultats de recherche hautes performances. Xunsearch peut créer rapidement des index et prend en charge une variété de méthodes de recherche et de règles de recherche. Il s'agit d'un moteur de recherche très adapté aux sites Web de forums.

2. Installez et configurez Xunsearch

  1. Téléchargez le package d'installation de Xunsearch et décompressez-le dans le répertoire racine du site Web du forum.
  2. Entrez dans le répertoire d'installation de Xunsearch, recherchez le répertoire sdk/php/app, copiez les fichiers qu'il contient dans le répertoire du projet PHP du site Web du forum et changez le nom du fichier en Xunsearch. phpcode>. sdk/php/app目录,将其中的文件复制到论坛网站的PHP项目目录下,并修改文件名为Xunsearch.php
  3. 创建一个配置文件xunsearch.ini,内容如下:
[xunsearch]
server.index = {论坛网站的根目录}/xunsearch/data
server.search = {论坛网站的根目录}/xunsearch/data
project.name = {论坛网站}

三、创建Xunsearch索引
在使用之前,我们需要先创建Xunsearch的索引。在论坛网站项目中新建一个PHP脚本文件create_index.php,代码如下:

<?php
require_once('Xunsearch.php');

function createIndex()
{
    $xunsearch = new Xunsearch();
    
    $index = $xunsearch->getIndex();
    
    // 创建索引字段
    $index->addField('title');
    $index->addField('content');
    
    // 添加索引到数据库
    $db = mysqli_connect('localhost', 'username', 'password', 'database');
    $result = $db->query('SELECT id, title, content FROM posts');
    
    while($row = $result->fetch_assoc()) {
        $doc = new XSDocument();
        $doc->setFields($row);
        $index->add($doc);
    }
    
    $index->flushIndex();
}

createIndex();
?>

以上代码首先引入了Xunsearch类,然后创建了一个索引对象,设定了索引的字段,接着连接了数据库并获取了帖子的数据。然后将每个帖子转换为文档对象并添加到索引中,最后刷新索引。

四、进行搜索
在论坛网站中,我们需要为用户提供一个搜索页面,让他们可以输入关键词进行搜索。在论坛网站项目中新建一个PHP脚本文件search.php

Créez un fichier de configuration xunsearch.ini avec le contenu suivant :

<?php
require_once('Xunsearch.php');

function search($keyword)
{
    $xunsearch = new Xunsearch();
    
    $search = $xunsearch->getSearch();
    
    $search->setQuery($keyword);
    $search->setFuzzy(true); // 设置模糊搜索
    
    $search->setLimit(10); // 设置搜索结果数量
    
    $search->addWeight('title', 10); // 设置标题权重
    $search->addWeight('content', 5); // 设置内容权重
    
    $docs = $search->search();
    
    $results = array();
    foreach ($docs as $doc) {
        $result = array(
            'id' => $doc->id,
            'title' => $doc->title,
            'content' => $doc->content,
        );
        $results[] = $result;
    }
    
    return $results;
}

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

$results = search($keyword); // 执行搜索

// 显示搜索结果
foreach ($results as $result) {
    echo '标题:' . $result['title'] . '<br>';
    echo '内容:' . $result['content'] . '<br>';
    echo '<hr>';
}
?>

3 Créer un index Xunsearch

Avant de l'utiliser, nous devons d'abord créer l'index Xunsearch. Créez un nouveau fichier de script PHP create_index.php dans le projet de site Web du forum. Le code est le suivant :
rrreee

Le code ci-dessus introduit d'abord la classe Xunsearch, puis crée un objet d'index, définit les champs d'index. , puis connecté à la base de données et obtenu les données de publication. Chaque publication est ensuite convertie en objet document et ajoutée à l'index, et enfin l'index est actualisé. 🎜🎜4. Recherche🎜Sur le site Web du forum, nous devons fournir une page de recherche aux utilisateurs afin qu'ils puissent saisir des mots-clés à rechercher. Créez un nouveau fichier de script PHP search.php dans le projet de site Web du forum. Le code est le suivant : 🎜rrreee🎜Le code ci-dessus introduit d'abord la classe Xunsearch, puis crée un objet de recherche et définit les mots-clés de recherche. et Configuration associée, puis effectuez une recherche et convertissez les résultats de la recherche en tableau. Enfin, les résultats de la recherche s'affichent. 🎜🎜Conclusion : 🎜En utilisant PHP et Xunsearch, nous pouvons obtenir une recherche de messages plus efficace et améliorer l'effet de recherche et l'expérience utilisateur du site Web du forum. Tant que vous suivez les exemples de code fournis dans cet article, vous pouvez rapidement introduire Xunsearch et l'appliquer à votre site Web de forum. J'espère que cet article sera utile pour améliorer l'effet de recherche de publication du site Web du forum. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn