製品の検索と推奨に Elasticsearch と PHP を使用する方法
はじめに:
今日の電子商取引分野では、ユーザーにとって優れた検索および推奨システムが非常に重要です。 Elasticsearch は、強力かつ柔軟なオープンソースの検索エンジンであり、バックエンド開発言語として PHP と組み合わせることで、電子商取引 Web サイトに効率的な商品検索とパーソナライズされたレコメンデーション機能を提供できます。この記事では、ElasticsearchとPHPを使って商品検索やレコメンド機能を実装する方法と、対応するコード例を紹介します。
1. Elasticsearch のインストールと構成
まず、Elasticsearch をインストールして構成する必要があります。 Elasticsearch 公式 Web サイトから最新バージョンをダウンロードし、公式ドキュメントに従ってインストールおよび設定できます。設定完了後、「http://localhost:9200」にアクセスすると、Elasticsearchが正常に起動したかを確認できます。
2. 製品データのインポート
製品を検索して推奨するには、まずいくつかの製品データを Elasticsearch にインポートする必要があります。データのインポートは、Elasticsearch の RESTful API を使用して実現できます。以下は、PHP を使用して POST リクエストを送信し、商品データを Elasticsearch にインポートするサンプル コードです。
<?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; ?>
上記のコードは、商品データの一部を Elasticsearch の「products」インデックスにインポートします。必要に応じて $data 配列のフィールドを変更し、さらに多くの製品データをインポートできます。
3. 製品検索
次に、製品検索に Elasticsearch を使用する方法を紹介します。以下は、製品タイトルと説明の一致検索の簡単な PHP コード例です。
<?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; ?>
上記のコードは、Elasticsearch の "_search" API Products を介して、"iPhone" を含むタイトルの "product" インデックスを検索します。必要に応じて $query 配列のフィールドとクエリ条件を変更し、より複雑な製品検索機能を実装できます。
4. パーソナライズされたレコメンデーション
製品検索機能に加えて、パーソナライズされたレコメンデーションも重要な機能です。以下は、ユーザーの購入履歴と閲覧行動に基づいて製品を推奨する簡単な PHP コードの例です。
<?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; ?>
上記のコードは、製品 ID 1 に基づいて製品を推奨し、Elasticsearch の「more_like_this」を使用します。API は類似の製品を検索します。タイトルと説明に基づいて。必要に応じて $like 配列の製品 ID を変更し、さまざまな製品に基づいた推奨事項を実装できます。
概要:
この記事では、Elasticsearch と PHP を使用して製品検索とレコメンデーション機能を実装する方法を紹介し、対応するコード例を示します。実際のアプリケーションでは、フィルタ条件の追加や並べ替えルールの追加など、必要に応じて機能の拡張や最適化が可能です。 Elasticsearch と PHP の利点を最大限に活用することで、より優れたユーザー エクスペリエンスを EC サイトに提供し、売上を向上させることができます。
以上がElasticsearch と PHP を使用して製品の検索と推奨を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。