Position actuelle: Accueil> Derniers articles> PHP combine Coreseek pour créer des détails de fonction de recherche de produits efficaces

PHP combine Coreseek pour créer des détails de fonction de recherche de produits efficaces

M66 2025-07-10

L'importance de la recherche de produits sur les plateformes de commerce électronique

Dans l'environnement du commerce électronique moderne, la recherche de produits est une fonction clé pour les utilisateurs pour trouver rapidement des produits cibles. Grâce à la récupération des mots clés, les utilisateurs peuvent parcourir et filtrer efficacement les produits et améliorer leur expérience d'achat. Par conséquent, il est particulièrement important de créer un système de recherche rapide et précis.

Introduction à CoreSeek et à ses avantages

CoreSeek est développé sur la base de Sphinx et est un moteur de recherche en texte complet optimisé pour les environnements chinois. Il prend en charge la segmentation des mots chinois et présente les avantages d'une vitesse de réponse rapide et d'une recherche précise. CoreSeek établit l'indexation en important des données à partir de la base de données MySQL et fournit une interface de requête concise, qui facilite l'intégration d'applications telles que PHP.

Installer et configurer CoreSeek

Tout d'abord, téléchargez le package CoreSeek et décompressez-le dans le répertoire spécifié. Entrez le répertoire où se trouve le fichier de configuration et renommez Sphinx.conf.dist à sphinx.conf. Ouvrez le fichier et ajustez le chemin d'index et les champs de recherche et d'autres éléments de configuration en fonction des besoins réels. Après enregistrer, passez au répertoire d'installation de CoreSek dans le terminal et exécutez:

 ./bin/searchd

Démarrez le service de recherche et confirmez que le service fonctionne normalement.

Préparer les données du produit et l'importation d'index

Assurez-vous que MySQL est installé et créé une base de données et une table pour stocker les données du produit. Par exemple:

 Créer une base de données s'il n'existe pas de produits;

Créer des produits de table.productes (
  id int key primaire auto_increment,
  nom varchar (100) pas nul,
  Description Texte,
  prix décimal (10, 2),
  catégorie_id int
));

Insérer des exemples de données de produit:

 Insérer dans ProductS.Product (nom, description, prix, catégorie_id)
VALEURS
  («Produit 1», «Ceci est une description du produit 1», 19.99, 1),
  («Produit 2», «Ceci est la description du produit 2», 29.99, 2),
  («Produit 3», «Ceci est la description du produit 3», 39,99, 1),
  («Produit 4», «Ceci est la description du produit 4», 49,99, 2);

Après avoir terminé la préparation des données, exécutez la commande INDEX IMPORT:

 ./bin/indexer --all --config /path/to/sphinx.conf

Importez des données de produit à partir de la base de données dans l'index CoreSeek.

Utilisez PHP pour implémenter la fonction de recherche de produit

Créez un fichier search.php pour implémenter le code de base pour la fonction de recherche:

<?php
require('path/to/sphinxapi.php');

// Obtenez des mots clés de recherche
$keyword = $_GET['q'];

// InstanciationSphinxClient
$sphinx = new SphinxClient();

// installationSphinxConnexion du serveur
$sphinx-> SetServer («LocalHost», 9312);

// Exécuter Search $ result = $ sphinx-> requête ($ mot-clé, &#39;product_index&#39;);

// Traite les résultats de la recherche si ($ result) {
    if ($ result [&#39;total&#39;]> 0) {
        Echo "Recherche sur {$ Result [&#39;Total&#39;]} Résultats:<br> "
        foreach ($ result [&#39;correspond&#39;] comme $ correspond) {
            $ product = getProductById ($ correspond [&#39;id&#39;]); // obtenir des informations sur le produit en fonction de l&#39;ID Echo "Nom du produit: {$ produit [&#39;name&#39;]}<br> "
            Echo "Description du produit: {$ produit [&#39;Description&#39;]}<br> "
            Echo "Prix du produit: {$ produit [&#39;Price&#39;]}<br><br> "
        }
    } autre {
        écho "aucun résultat trouvé";
    }
} autre {
    echo $ sphinx-> getlasterror ();
}

// Obtenez des informations sur le produit de la base de données en fonction de la fonction ID du produit getProductById ($ id) {
    $ conn = new mysqli («localhost», «nom d&#39;utilisateur», «mot de passe», «produits»);
    $ sql = "select * dans le produit où id = $ id";
    $ result = $ Conn-> Query ($ SQL);
    if ($ result-> num_rows> 0) {
        return $ result-> fetch_assoc ();
    } autre {
        retourner null;
    }
}
?>

Le code ci-dessus montre comment interroger l'index de produit via CoreeK et la sortie du contenu de produit détaillé en fonction des informations de base de données. Veuillez ajuster les paramètres de connexion en fonction de la configuration réelle de la base de données.

Fonction de recherche de test

Visitez dans le navigateur:
http://yourdomain.com/search.php?q=replace YourDomain.com comme adresse de serveur, et le mot-clé est le contenu à récupérer. Si la configuration est correcte et que l'index a été mis à jour, les résultats de recherche correspondants seront affichés.

Résumer

Grâce à la combinaison de PHP et de Coreseek, nous pouvons construire un système de recherche de produit réactif et précis. La conception raisonnable de la base de données et la gestion de l'index garantissent l'efficacité de la recherche et la précision des résultats, apportant une meilleure expérience aux utilisateurs de plate-forme de commerce électronique. J'espère que ce guide peut vous aider à des fonctions de recherche de produits rapidement et efficaces.