


Sphinx écrit une analyse d'exemple de fonction de recherche efficace
Oct 03, 2023 am 08:40 AMSphinx est un moteur de recherche en texte intégral open source qui peut gérer efficacement les besoins de recherche de texte à grande échelle. Cet article utilisera un exemple pour analyser comment utiliser Sphinx pour écrire des fonctions de recherche efficaces et fournira des exemples de code spécifiques.
- Installer Sphinx
Tout d'abord, nous devons installer Sphinx sur le serveur. Vous pouvez télécharger la dernière version du programme d'installation sur le site officiel de Sphinx (https://sphinxsearch.com/) et l'installer selon les instructions. -
Créer un index
Avant de commencer à écrire la fonction de recherche, nous devons d'abord créer un index pour stocker les données textuelles qui doivent être recherchées. Supposons que notre application doive rechercher des informations sur certains produits. Chaque produit contient des attributs tels que le titre, la description et le prix. Nous pouvons créer un index appelé « produits ».Tout d'abord, créez une base de données MySQL connectée à Sphinx et importez les données produits. Supposons que nous ayons une base de données appelée « produits » et qu'elle contienne une table appelée « product_info » qui contient des champs tels que le titre, la description et le prix du produit.
Ensuite, nous devons créer un fichier de configuration adapté à l'index "produits". Créez un fichier nommé "products.conf" et ajoutez le contenu suivant :
source products { type = mysql sql_host = localhost sql_user = username sql_pass = password sql_db = products sql_port = 3306 sql_query = SELECT id, title, description, price FROM product_info sql_attr_uint = price } index products { source = products path = /path/to/index/products charset_type = utf-8 }
Copier après la connexionCeci spécifie les informations de connexion et l'instruction de requête pour la base de données MySQL. "sql_attr_uint = price" indique que le champ price est un attribut de type entier non signé.
Enfin, utilisez la commande suivante pour créer l'index :
$ indexer --config /path/to/products.conf --all
Copier après la connexion Écriture de la fonction de recherche
Maintenant, nous pouvons commencer à écrire la fonction de recherche de Sphinx. Voici un exemple PHP simple :<?php require('sphinxapi.php'); $sphinx = new SphinxClient(); $sphinx->setServer('localhost', 9312); $keyword = $_GET['keyword']; $sphinx->setMatchMode(SPH_MATCH_ANY); $sphinx->setSortMode(SPH_SORT_RELEVANCE); $result = $sphinx->query($keyword, 'products'); if ($result['total'] > 0) { foreach ($result['matches'] as $match) { echo 'ID: ' . $match['id'] . '<br>'; echo 'Title: ' . $match['attrs']['title'] . '<br>'; echo 'Description: ' . $match['attrs']['description'] . '<br>'; echo 'Price: ' . $match['attrs']['price'] . '<br><br>'; } } else { echo 'No results found.'; } ?>
Copier après la connexionCe code crée d'abord un objet SphinxClient et spécifie l'adresse et le numéro de port du serveur Sphinx. Ensuite, recevez les mots-clés saisis par l'utilisateur et définissez le mode de correspondance et le mode de tri.
Enfin, appelez la méthode query() pour effectuer la recherche et parcourez les résultats pour imprimer les informations sur le produit correspondant.
-
Exécutez le test
Enregistrez le code ci-dessus sous forme de fichier PHP (par exemple search.php) et déployez-le sur votre serveur Web. Vous pouvez ensuite effectuer une recherche en accédant à search.php?keyword=keyword.Par exemple, visiter http://yourdomain.com/search.php?keyword=mobile phone recherchera les produits contenant le mot-clé « téléphone mobile » et affichera les résultats sur la page.
Grâce aux étapes ci-dessus, nous avons implémenté une fonction de recherche efficace basée sur Sphinx. Sphinx offre une multitude d'options de configuration et de syntaxe de requête pour optimiser les performances de recherche en fonction des besoins réels. Nous espérons que les exemples de code fournis dans cet article pourront aider les lecteurs à comprendre et à utiliser Sphinx pour écrire des fonctions de recherche efficaces.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Écrire une méthode pour calculer la fonction puissance en langage C

Comment écrire l'algorithme de filtre Bloom en utilisant C#

Comment écrire un algorithme de programmation dynamique en utilisant C#

Comment écrire un système de réservation d'hôtel simple en C++ ?

Comment écrire l'algorithme KNN en Python ?

Comment utiliser C++ pour écrire un système simple de sélection de cours pour les étudiants ?

Le guide complet des cours de test en Java : tutoriel détaillé du débutant à la maîtrise

Comment écrire un jeu simple de démineur en C++ ?
