Heim > Backend-Entwicklung > PHP-Tutorial > So verwenden Sie Elasticsearch und PHP für die Produktsuche und -empfehlung

So verwenden Sie Elasticsearch und PHP für die Produktsuche und -empfehlung

王林
Freigeben: 2023-07-09 15:10:02
Original
1619 Leute haben es durchsucht

So verwenden Sie Elasticsearch und PHP für die Produktsuche und -empfehlung

Einführung:
Im heutigen E-Commerce-Bereich ist ein gutes Such- und Empfehlungssystem für Benutzer sehr wichtig. Elasticsearch ist eine leistungsstarke und flexible Open-Source-Suchmaschine, die in Kombination mit PHP als Back-End-Entwicklungssprache eine effiziente Produktsuche und personalisierte Empfehlungsfunktionen für E-Commerce-Websites bereitstellen kann. In diesem Artikel wird erläutert, wie Sie mit Elasticsearch und PHP Produktsuch- und Empfehlungsfunktionen implementieren und entsprechende Codebeispiele anhängen.

1. Elasticsearch installieren und konfigurieren
Zuerst müssen wir Elasticsearch installieren und konfigurieren. Sie können die neueste Version von der offiziellen Website von Elasticsearch herunterladen und sie gemäß der offiziellen Dokumentation installieren und konfigurieren. Nachdem die Konfiguration abgeschlossen ist, können Sie überprüfen, ob Elasticsearch erfolgreich gestartet wurde, indem Sie auf „http://localhost:9200“ zugreifen.

2. Produktdaten importieren
Um Produkte zu suchen und zu empfehlen, müssen wir zunächst einige Produktdaten in Elasticsearch importieren. Der Datenimport kann über die RESTful-API von Elasticsearch erfolgen. Das Folgende ist ein Beispielcode, der PHP verwendet, um eine POST-Anfrage zum Importieren von Produktdaten in Elasticsearch zu senden:

<?php
$ch = curl_init();

$data = array(
    'title' => 'iPhone 12',
    'description' => 'The latest iPhone model',
    'price' => 999,
    'category' => 'Electronics',
);

$url = 'http://localhost:9200/products/_doc/1';
$json_data = json_encode($data);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);

$response = curl_exec($ch);

curl_close($ch);

echo $response;
?>
Nach dem Login kopieren

Der obige Code importiert ein Stück Produktdaten in den Index „Produkte“ in Elasticsearch. Sie können die Felder im $data-Array nach Bedarf ändern, um weitere Produktdaten zu importieren.

3. Produktsuche
Als nächstes stellen wir vor, wie man Elasticsearch für die Produktsuche verwendet. Hier ist ein einfaches PHP-Codebeispiel zum Durchführen einer passenden Suche in Produkttiteln und -beschreibungen:

<?php
$ch = curl_init();

$query = array(
    'query' => array(
        'match' => array(
            'title' => 'iPhone'
        )
    )
);

$url = 'http://localhost:9200/products/_search';
$json_query = json_encode($query);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_query);

$response = curl_exec($ch);

curl_close($ch);

echo $response;
?>
Nach dem Login kopieren

Der obige Code durchsucht den Index „Produkte“ nach Produkten, deren Titel „iPhone“ enthalten, über die „_search“-API von Elasticsearch. Sie können die Felder und Abfragebedingungen im $query-Array nach Bedarf ändern, um komplexere Produktsuchfunktionen zu implementieren.

4. Personalisierte Empfehlungen
Neben der Produktsuchfunktion sind auch personalisierte Empfehlungen eine wichtige Funktion. Das Folgende ist ein einfaches PHP-Codebeispiel für Produktempfehlungen basierend auf der Kaufhistorie und dem Surfverhalten des Benutzers:

<?php
$ch = curl_init();

$query = array(
    'query' => array(
        'more_like_this' => array(
            'fields' => array('title', 'description'),
            'like' => array(
                array(
                    '_index' => 'products',
                    '_id' => '1'
                )
            ),
            'min_term_freq' => 1,
        )
    )
);

$url = 'http://localhost:9200/products/_search';
$json_query = json_encode($query);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_query);

$response = curl_exec($ch);

curl_close($ch);

echo $response;
?>
Nach dem Login kopieren

Der obige Code empfiehlt basierend auf dem Produkt mit der Produkt-ID 1 und basierend auf dem Produkt über die „more_like_this“-API-Titel von Elasticsearch und Beschreibungen, um ähnliche Produkte zu finden. Sie können die Produkt-ID im $like-Array nach Bedarf ändern, um Empfehlungen basierend auf verschiedenen Produkten umzusetzen.

Zusammenfassung:
In diesem Artikel wird die Verwendung von Elasticsearch und PHP zur Implementierung von Produktsuch- und Empfehlungsfunktionen vorgestellt und entsprechende Codebeispiele bereitgestellt. In tatsächlichen Anwendungen können Funktionen nach Bedarf erweitert und optimiert werden, z. B. durch das Hinzufügen von Filterbedingungen, Sortierregeln usw. Indem Sie die Vorteile von Elasticsearch und PHP voll ausschöpfen, können Sie E-Commerce-Websites ein besseres Benutzererlebnis bieten und den Umsatz steigern.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Elasticsearch und PHP für die Produktsuche und -empfehlung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage