In der modernen E-Commerce-Umgebung ist die Produktsuche eine Schlüsselfunktion für Benutzer, um schnell Zielprodukte zu finden. Durch das Abrufen von Keywords können Benutzer Produkte effizient durchsuchen und filtern und ihr Einkaufserlebnis verbessern. Daher ist es besonders wichtig, ein schnelles und genaues Suchsystem zu erstellen.
Coreseek basiert auf Sphinx und ist eine für chinesische Umgebungen optimierte Volltext-Suchmaschine. Es unterstützt chinesische Wortsegmentierung und hat die Vorteile einer schnellen Reaktionsgeschwindigkeit und einer genauen Suche. Coreseek stellt die Indexierung durch Importieren von Daten aus der MySQL -Datenbank fest und bietet eine kurze Abfrageschnittstelle, die die Integration von Anwendungen wie PHP erleichtert.
Laden Sie zunächst das Coreseek -Paket herunter und entpacken Sie es in das angegebene Verzeichnis. Geben Sie das Verzeichnis ein, in dem sich die Konfigurationsdatei befindet, und benennen Sie sphinx.conf.dist in sphinx.conf um. Öffnen Sie die Datei und passen Sie die Indexpfad- und Suchfelder und andere Konfigurationselemente entsprechend den tatsächlichen Anforderungen an. Wechseln Sie nach dem Speichern zum Coresek -Installationsverzeichnis im Terminal und führen Sie aus:
./bin/searchd
Starten Sie den Suchdienst und bestätigen Sie, dass der Dienst normal arbeitet.
Stellen Sie sicher, dass MySQL installiert ist und eine Datenbank und Tabelle zum Speichern von Produktdaten erstellt. Zum Beispiel:
Datenbank erstellen, wenn nicht existiert Produkte; Erstellen von Tabellenprodukten.Product ( ID int Primärschlüssel Auto_increment, Nennen Sie Varchar (100) nicht null, Beschreibung Text, Preisdezimal (10, 2), category_id int );
Beispielproduktdaten einfügen:
In Produkte einfügen. WERTE ('Produkt 1', 'Dies ist eine Beschreibung von Produkt 1', 19.99, 1). ('Produkt 2', 'Dies ist die Beschreibung von Produkt 2', 29,99, 2). ('Produkt 3', 'Dies ist die Beschreibung von Produkt 3', 39,99, 1). ('Produkt 4', 'Dies ist die Beschreibung von Produkt 4', 49,99, 2);
Führen Sie nach Abschluss der Datenvorbereitung den Befehl Indeximport aus:
./bin/indexer --all ---config /path/to/sphinx.conf
Importieren Sie Produktdaten aus der Datenbank in den Coreek -Index.
Erstellen Sie eine such.php -Datei, um den Kerncode für die Suchfunktion zu implementieren:
<?php require('path/to/sphinxapi.php'); // Holen Sie sich Suchschlüsselwörter $keyword = $_GET['q']; // InstanziierungSphinxKunde $sphinx = new SphinxClient(); // aufstellenSphinxSerververbindung $sphinx-> setServer ('localhost', 9312); // Suche $ result = $ sphinx-> query ($ keyword, 'product_index'); // Suchergebnisse verarbeiten, wenn ($ result) { if ($ result ['Gesamt']> 0) { echo "gesucht nach {$ result ['Gesamt']} Ergebnisse:<br> "; foreach ($ result ['Matches'] als $ match) { $ product = getProductbyId ($ match ['id']); // Produktinformationen basierend auf ID echo "Produktname: {$ product ['name']}<br> "; Echo "Produktbeschreibung: {$ product ['Beschreibung']}<br> "; Echo "Produktpreis: {$ product ['Preis']}<br><br> "; } } anders { echo "keine Ergebnisse gefunden"; } } anders { echo $ sphinx-> getlasterror (); } // Produktinformationen aus der Datenbank basierend auf der Produkt -ID -Funktion GetProductbyId ($ id) {basierend $ conn = new MySQLI ('localhost', 'username', 'password', 'products'); $ sql = "Auswählen * aus dem Produkt wobei ID = $ id"; $ result = $ conn-> query ($ sql); if ($ result-> num_rows> 0) { return $ result-> fetch_assoc (); } anders { null zurückkehren; } } ?>
Der obige Code zeigt, wie der Produktindex über Coreseek abfragt und detaillierte Produktinhalte basierend auf Datenbankinformationen ausgegeben werden. Bitte passen Sie die Verbindungsparameter an die tatsächliche Datenbankkonfiguration an.
Besuch im Browser:
http://yourdomain.com/search.php?q=replace YourDomain.com AS Ihre Serveradresse, und das Schlüsselwort ist der zu abgerufene Inhalt. Wenn die Konfiguration korrekt ist und der Index aktualisiert wurde, werden die entsprechenden Suchergebnisse angezeigt.
Durch die Kombination von PHP und Coreek können wir ein reaktionsschnelles und genaues Produktsuchsystem erstellen. Das angemessene Datenbankdesign und das Indexmanagement sind sichergestellt, dass die Effizienz und die Genauigkeit der Ergebnisse der Suchanlagen für die E-Commerce-Plattform-Benutzer eine bessere Erfahrung erzielt. Ich hoffe, dieser Leitfaden kann Ihnen schnell und effiziente Produktsuchfunktionen helfen.