Maison  >  Article  >  développement back-end  >  Utilisez PHP et coreseek pour implémenter une fonction de recherche de stratégie de voyage intelligente

Utilisez PHP et coreseek pour implémenter une fonction de recherche de stratégie de voyage intelligente

王林
王林original
2023-08-06 11:07:43963parcourir

Utilisez PHP et coreseek pour réaliser une fonction de recherche intelligente de guides de voyage

1 Introduction
Avec le développement rapide d'Internet, les voyages font progressivement partie de la vie des gens. Les sites Web de guides de voyage fournissent aux gens une variété d'informations de voyage et d'informations de guide pour les aider à planifier et à profiter de leurs voyages. Cependant, à mesure que les informations stratégiques deviennent de plus en plus abondantes et diversifiées, la manière de fournir aux utilisateurs des fonctions de recherche plus intelligentes devient un défi.

Afin de résoudre ce problème, nous pouvons utiliser PHP et coreseek, un moteur de recherche en texte intégral, pour créer une fonction de recherche intelligente de guides de voyage.

2. Installez et configurez coreseek
Tout d'abord, nous devons installer et configurer coreseek. coreseek est un service de recherche basé sur le moteur de recherche en texte intégral Sphinx, qui peut fournir des capacités de recherche en texte intégral efficaces. Nous pouvons télécharger la dernière version de coreseek depuis le site officiel de coreseek (http://www.coreseek.cn/).

Le processus d'installation de coreseek est relativement compliqué et vous devez suivre la documentation officielle de coreseek. Tout d’abord, nous devons installer Sphinx, puis compiler et installer l’extension PHP de coreseek. Enfin, configurez le fichier de configuration coreseek et créez l'index Sphinx. Une fois l'installation et la configuration terminées, nous pouvons utiliser l'API fournie par coreseek pour effectuer une recherche en texte intégral.

3. Créer une base de données et des tables
Nous devons créer une base de données MySQL et créer une table dans la base de données pour stocker les informations du guide de voyage. Par exemple, nous créons une base de données nommée « travel_guide » et créons une table nommée « guides » dans la base de données. La structure de la table est la suivante :

CREATE TABLE guides (guides (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL DEFAULT '',
content text NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

四、插入数据
在"guides"表中插入一些旅行攻略信息的示例数据。例如,我们插入三条数据,分别是关于北京、上海和杭州的旅行攻略。

INSERT INTO guides (title, content id int(11) unsigned NOT NULL AUTO_INCREMENT,
title varchar(255 ) NOT NULL DEFAULT '',
content text NOT NULL,
PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;


4. Insérer des données

. dans "guides" Insérez quelques exemples de données d'informations de guide de voyage dans le tableau. Par exemple, nous insérons trois données, qui sont des stratégies de voyage pour Pékin, Shanghai et Hangzhou.


INSÉRER DANS guides (titre, contenu) VALEURS

('Guide de voyage de Pékin', 'Pékin est la capitale de la Chine et possède un longue histoire, histoire et culture riche. '),

('Guide de voyage de Shanghai', 'Shanghai est le centre économique de la Chine avec un paysage urbain moderne.'),

('Guide de voyage de Hangzhou', 'Hangzhou est une attraction touristique. en Chine, il y a une magnifique région panoramique de West Lake. ');


5. Implémenter la fonction de recherche

Maintenant, nous pouvons utiliser PHP et coreseek pour implémenter la fonction de recherche intelligente de guides de voyage. Tout d'abord, nous devons nous connecter au service coreseek en code PHP et spécifier des mots-clés de recherche.


c2771513bc7134220a9ec6401b6ad246SetServer("localhost", 9312) ;

$cl->SetMatchMode(SPH_MATCH_EXTENDED);
$cl->SetLimits(0, 10);

$result = $cl->Query($key, "guides");

if ( $result === false) {

echo "搜索失败:" . $cl->GetLastError();

} else {

echo "共搜索到" . $result['total'] . "条结果:";

foreach ($result['matches'] as $match) {
    echo "ID:" . $match['id'] . ",标题:" . $match['attrs']['title'] . ",内容:" . $match['attrs']['content'] . "<br>";
}

}
?>

Dans le code, nous introduisons d'abord le fichier de bibliothèque PHP de coreseek (sphinxapi.php). Ensuite, précisez le mot-clé de recherche ($key = 'travel guide'). Ensuite, créez un objet SphinxClient et définissez l'adresse et le port pour vous connecter au service coreseek.

En appelant les méthodes SetMatchMode et SetLimits, nous pouvons définir le mode de recherche et les limites des résultats de recherche (ici, un maximum de 10 résultats sont renvoyés). Enfin, la méthode Query est appelée pour effectuer la recherche.


Si la recherche réussit, nous pouvons obtenir les informations sur le résultat de la recherche via la variable $result. Par exemple, utilisez $result['total'] pour obtenir le nombre total de résultats recherchés ; utilisez $result['matches'] pour obtenir les informations détaillées de chaque résultat, y compris l'ID et le titre.

6. Affichage des résultats
Enfin, nous pouvons afficher les résultats de la recherche sur la page Web. Supposons que nous utilisions le code HTML suivant pour afficher les résultats de recherche :

100db36a723c770d327fc0aef2ce13b1

93f0f5c25f18dab9d176bd4f6de5d30e

<title>旅行攻略搜索结果</title>

9c3bca370b5104690d9ef395f2c5f8d1

6c04bd5ca3fcae76e30b72ad730ca86d

<h1>旅行攻略搜索结果</h1>

<ul>
<?php foreach ($result['matches'] as $match) { ?>
    <li>
        <h2><?php echo $match['attrs']['title']; ?></h2>
        <p><?php echo $match['attrs']['content']; ?></p>
    </li>
<?php } ?>
</ul>
🎜36cc49f0c466276486e50c850b7e4956🎜73a6ac4ed44ffec12cee46588e518a5e 🎜 🎜Dans cette page Web, nous utilisons une liste non ordonnée pour afficher les résultats de recherche. En parcourant le tableau $result['matches'], nous pouvons parcourir chaque résultat et afficher le titre et le contenu dans les éléments de la liste. 🎜🎜En accédant à la page Web, nous pouvons voir la page des résultats de recherche. Chaque élément de la liste contient un titre et un contenu pour faciliter la visualisation et la sélection des utilisateurs. 🎜🎜En résumé, PHP et coreseek peuvent être utilisés pour implémenter une fonction de recherche intelligente de stratégie de voyage. En configurant coreseek et en utilisant l'API qu'il fournit, nous pouvons effectuer une recherche en texte intégral rapidement et efficacement. Cela fournit un outil de recherche plus intelligent et plus pratique pour les sites Web de guides de voyage, offrant aux utilisateurs une meilleure expérience de voyage. 🎜

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