Maison  >  Article  >  développement back-end  >  Sphinx PHP filtre et tri les attributs des produits dans la plateforme de commerce électronique

Sphinx PHP filtre et tri les attributs des produits dans la plateforme de commerce électronique

WBOY
WBOYoriginal
2023-10-03 08:36:33821parcourir

Sphinx PHP 在电商平台中的商品属性筛选与排序

Sphinx PHP Filtrage et tri des attributs de produits dans les plateformes de commerce électronique

Introduction :
Avec le développement des plateformes de commerce électronique, le nombre et les types de produits continuent d'augmenter, et les utilisateurs sont souvent confrontés à la lecture et au filtrage une grande quantité d'informations lors de la recherche de produits. Afin d'améliorer l'expérience de recherche des utilisateurs, les plateformes de commerce électronique proposent souvent de riches fonctions de filtrage et de tri des attributs de produits. Cet article expliquera comment utiliser Sphinx PHP pour implémenter des fonctions de filtrage et de tri des attributs de produit dans la plate-forme de commerce électronique, et fournira quelques exemples de code spécifiques.

1. Introduction à Sphinx :
Sphinx est un moteur de recherche en texte intégral qui peut nous aider à réaliser rapidement et efficacement la récupération, le tri et le filtrage de texte. La puissance de Sphinx réside dans sa vitesse de recherche très rapide, qui peut toujours fournir des temps de réponse de recherche de l'ordre de la milliseconde, même avec des millions de volumes de données.

2. Criblage des attributs des produits dans les plateformes de commerce électronique :
Dans les plateformes de commerce électronique, les produits ont souvent des attributs riches, tels que la marque, la couleur, la taille, etc. Afin de permettre aux utilisateurs de filtrer en fonction de ces attributs, nous pouvons utiliser Sphinx pour implémenter la fonction de filtrage des attributs du produit.

Lorsque nous utilisons Sphinx pour implémenter le filtrage des attributs de produit, nous devons d'abord créer un index Sphinx et y ajouter les informations sur les attributs de produit. Par exemple, nous pouvons créer un champ avec l'attribut « Marque » pour stocker les informations de marque du produit. Nous pouvons ensuite afficher une zone de filtre de marque sur la page de recherche où les utilisateurs peuvent sélectionner les marques qui les intéressent. En transmettant la marque sélectionnée par l'utilisateur au moteur Sphinx comme condition de filtrage, la fonction de filtrage des produits par marque peut être réalisée.

Voici un exemple de code :

$cl = new SphinxClient;
$cl->SetServer("localhost", 9312);
$cl->SetMatchMode(SPH_MATCH_ALL);
$cl->SetFilter('brand', array(1)); // 设置品牌筛选条件,这里假设用户选择了品牌ID 为1 的商品

$res = $cl->Query("iphone"); // 执行搜索操作,其中“iphone”为用户输入的关键词

if ($res === false) {
    echo "搜索失败!";
} else {
    echo "搜索成功,共匹配到" . count($res['matches']) . "个商品。";
    // 对匹配到的商品进行展示
    foreach ($res['matches'] as $match) {
        echo "商品ID:" . $match['id'] . ",商品名称:" . $match['title'] . "<br>";
    }
}

3. Tri des produits dans la plateforme de commerce électronique :
En plus du filtrage par attributs, le tri des produits est également une fonction importante dans la plateforme de commerce électronique. Les utilisateurs peuvent choisir de trier les résultats de recherche par prix, volume de ventes, notes et autres facteurs.

Grâce à Sphinx, nous pouvons trier les produits en fonction de leurs attributs pertinents. Voici l'exemple de code :

$cl = new SphinxClient;
$cl->SetServer("localhost", 9312);
$cl->SetMatchMode(SPH_MATCH_ALL);

$sort = "@relevance DESC"; // 按照相关性进行排序

// 根据用户的选择来设置其他排序条件
if($userSort == 'price') {
    $sort .= ", price ASC";
} elseif ($userSort == 'sales') {
    $sort .= ", sales DESC";
} elseif ($userSort == 'rating') {
    $sort .= ", rating DESC";
}

$cl->SetSortMode(SPH_SORT_EXTENDED, $sort);

$res = $cl->Query("iphone"); // 执行搜索操作,其中“iphone”为用户输入的关键词

if ($res === false) {
    echo "搜索失败!";
} else {
    echo "搜索成功,共匹配到" . count($res['matches']) . "个商品。";
    // 对匹配到的商品进行展示
    foreach ($res['matches'] as $match) {
        echo "商品ID:" . $match['id'] . ",商品名称:" . $match['title'] . "<br>";
    }
}

Conclusion :
Les fonctions de filtrage et de tri des attributs de produit de Sphinx PHP dans la plate-forme de commerce électronique peuvent améliorer efficacement l'expérience de recherche de l'utilisateur. En créant un index Sphinx et en utilisant les fonctions de recherche et de tri fournies par Sphinx, nous pouvons facilement implémenter un filtrage basé sur des attributs sélectionnés par l'utilisateur et un tri basé sur des attributs spécifiques. Nous espérons que les exemples de code fournis dans cet article pourront vous aider à implémenter des fonctions de filtrage et de tri des attributs de produit.

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