CoreSeek est un moteur de recherche en texte complet open source basé sur Sphinx, avec des performances efficaces et de puissantes capacités de recherche. Il soutient non seulement la segmentation des mots chinois, le tri et la mise en évidence du poids, mais peuvent également gérer efficacement les tâches de récupération de données à grande échelle. CoreSeek est écrit en C ++, donc il fonctionne bien, et PHP, en tant que langue de script populaire, peut être facilement utilisé avec CoreSeek.
Tout d'abord, vous devez installer CoreSeek sur le serveur. Pour un processus d'installation spécifique, veuillez vous référer à la documentation officielle. Une fois l'installation terminée, vous devez configurer le fichier de configuration principale de CoreSeek: sphinx.conf. Voici un exemple de configuration simple:
Produit source { type = mysql sql_host = localhost sql_user = root sql_pass = mot de passe sql_db = ecommerce SQL_Query = Sélectionnez ID, nom, description, prix des produits } index product_index { source = produit chemin = / chemin / vers / index min_word_len = 2 min_prefix_len = 2 enable_star = 1 charset_type = utf-8 } searchd { écouter = 9312 Écouter = 9306: MySQL41 log = /path/to/log/searchd.log query_log = /path/to/log/query.log pid_file = /path/to/log/searchd.pid }
Dans l'exemple ci-dessus, nous définissons une source de données appelée "produit", qui suppose que les données du produit sont stockées dans une base de données nommée "Ecommerce" et obtenons des informations sur le produit à partir du tableau "Products". Dans le même temps, un index nommé "product_index" est défini et le chemin de stockage du fichier d'index est spécifié. Enfin, nous avons configuré la recherche de processus de recherche de CoreSeek.
Ensuite, nous utilisons la classe SphinxClient dans notre code PHP pour connecter et utiliser CoreSeek. Voici un exemple de recherche simple:
<?php require_once('sphinxapi.php'); $cl = new SphinxClient(); $cl->SetServer («LocalHost», 9312); $ cl-> setMatchMode (sph_match_extended); $ cl-> setlimits (0, 20); // Définissez le nombre de résultats renvoyés $ keyword = $ _get ['Keyword']; // Obtenez les mots clés de recherche entrés par l'utilisateur $ res = $ cl-> query ($ mot-clé, 'product_index'); if ($ res && $ res ['total_found']> 0) { foreach ($ res ['matches'] comme $ correspond) { $ productId = $ correspond ['id']; // obtenir des informations sur le produit à partir de la base de données selon ProductID et l'afficher} } autre { écho «aucun produit connexe trouvé»; } ?>
Dans l'exemple de code ci-dessus, nous avons d'abord introduit le fichier d'extension PHP "sphinxapi.php" fourni par Coreseek. Ensuite, en créant un objet SphinxClient et en définissant l'adresse et le port du serveur, puis en définissant le mode de correspondance sur SPH_MATCH_EXTENDED (prenant en charge la syntaxe de requête avancée). Enfin, nous utilisons la méthode de requête pour initier une demande de recherche et l'afficher en fonction des résultats renvoyés.
Grâce aux exemples de cet article, nous montrons comment utiliser PHP et Coreseek pour développer un moteur de recherche de produits de plate-forme de commerce électronique. Bien que cet article ne couvre que les fonctions de base, les développeurs peuvent ajouter des fonctionnalités plus avancées en fonction des besoins réels. De cette façon, vous pouvez créer un moteur de recherche de produits efficace, précis et convivial pour la plate-forme de commerce électronique.