Maison >développement back-end >tutoriel php >Optimisation de la recherche et du tri des produits Sphinx PHP sur les sites e-commerce
Optimisation de la recherche et du tri de produits Sphinx PHP sur les sites Web de commerce électronique
Dans les sites Web de commerce électronique, la recherche et le tri de produits sont l'un des facteurs importants pour l'expérience utilisateur et la conversion des ventes. Afin d'améliorer l'expérience de recherche de l'utilisateur et de présenter les résultats qui correspondent le mieux à ses besoins, Sphinx PHP est un moteur de recherche en texte intégral très puissant et largement utilisé. Cet article expliquera comment utiliser Sphinx PHP pour optimiser la recherche et le tri de produits sur les sites de commerce électronique, et fournira des exemples de code spécifiques.
1. Installez et configurez Sphinx PHP
Tout d'abord, nous devons installer Sphinx PHP sur le serveur du site e-commerce. Vous pouvez l'installer via la commande suivante :
$ pecl install sphinx
Après une installation réussie, vous devez introduire Sphinx PHP dans le fichier de configuration du site :
require_once 'sphinxapi.php';
2. Établir un index de produits
Avant d'effectuer des recherches de produits, vous devez créer un index de produits dans Sphinx en premier. Tout d’abord, créez un index appelé « produits ». Supposons que notre table de produits soit nommée « produits », qui contient des champs tels que l'identifiant, le nom, la description, le prix, etc. Vous pouvez créer un index via le code suivant :
$cl = new SphinxClient(); $cl->SetServer("localhost", 9312); $cl->SetConnectTimeout(1); $cl->SetArrayResult(true); $cl->SetFieldWeights(array( 'name' => 10, 'description' => 5, 'price' => 1 )); $cl->SetMatchMode(SPH_MATCH_ANY); $cl->SetSortMode(SPH_SORT_RELEVANCE); $cl->AddIndex('products'); $cl->AddQuery('iphone', 'products'); $result = $cl->RunQueries(); if ($result === false) { echo "搜索失败"; } else { foreach ($result['results'][0]['matches'] as $match) { echo "商品ID: " . $match['id'] . "<br>"; echo "商品名称: " . $match['attrs']['name'] . "<br>"; echo "商品描述: " . $match['attrs']['description'] . "<br>"; echo "商品价格: " . $match['attrs']['price'] . "<br>"; echo "<br>"; } }
Le code ci-dessus crée d'abord un objet SphinxClient et définit le paramètres de connexion et poids de champ, mode de correspondance et mode de tri. Ensuite, le nom de l'index et le nom de la table à rechercher sont spécifiés via la méthode AddIndex(), et les mots-clés à rechercher sont spécifiés via la méthode AddQuery(). Enfin, la recherche est effectuée via la méthode RunQueries() et les résultats du produit correspondant sont affichés.
3. Optimiser le tri des produits
Lors de la recherche de produits, en plus de la correspondance des mots clés, vous devez également prendre en compte les problèmes de tri. Voici un exemple qui montre comment trier en fonction du prix du produit :
$cl = new SphinxClient(); $cl->SetServer("localhost", 9312); $cl->SetConnectTimeout(1); $cl->SetArrayResult(true); $cl->SetFieldWeights(array( 'name' => 10, 'description' => 5, 'price' => 1 )); $cl->SetMatchMode(SPH_MATCH_ANY); $cl->SetSortMode(SPH_SORT_EXTENDED, '@yesno ASC, price ASC'); $cl->AddIndex('products'); $cl->AddQuery('iphone', 'products'); $result = $cl->RunQueries(); if ($result === false) { echo "搜索失败"; } else { foreach ($result['results'][0]['matches'] as $match) { echo "商品ID: " . $match['id'] . "<br>"; echo "商品名称: " . $match['attrs']['name'] . "<br>"; echo "商品描述: " . $match['attrs']['description'] . "<br>"; echo "商品价格: " . $match['attrs']['price'] . "<br>"; echo "<br>"; } }
Dans le code ci-dessus, le mode de tri est défini sur SPH_SORT_EXTENDED via la méthode SetSortMode(), puis spécifié par '@yesno ASC, price ASC' pour suivez d'abord un champ supplémentaire (par exemple s'il faut rester en haut) sont triés, puis triés par prix.
Résumé :
L'utilisation de Sphinx PHP pour optimiser la recherche et le tri de produits sur les sites Web de commerce électronique peut considérablement améliorer l'expérience de recherche de l'utilisateur et présenter les résultats qui correspondent le mieux aux besoins de l'utilisateur. Cet article présente les méthodes d'installation et de configuration de Sphinx PHP, ainsi que des exemples de code spécifiques sur la façon de créer des index de produits et d'optimiser le tri des produits. J'espère que cet article sera utile aux développeurs qui appliquent Sphinx PHP sur les sites Web de commerce électronique.
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!