Elasticsearch を使用してレコメンデーション システムを実装する方法
今日の情報爆発の時代において、レコメンデーション システムは、ユーザーが必要な情報を迅速かつ正確に見つけるのに役立つ重要なツールとなっています。 Elasticsearch は、オープンソースの高性能検索エンジンとして、強力な全文検索機能とデータ分析機能を提供し、レコメンデーション システムの実装を強力にサポートします。この記事では、Elasticsearch を使用して簡単なレコメンデーション システムを構築する方法とコード例を紹介します。
まず、データを準備する必要があります。通常、レコメンデーション システムはユーザーの履歴行動に基づいてレコメンデーションを行うため、クリック記録や購入記録などのユーザー行動データを収集する必要があります。収集するデータには、ユーザー ID、製品 ID、動作タイプのフィールドが含まれていると仮定します。
Elasticsearch のドキュメント モデルを使用して、各行動記録をドキュメントとして保存できます。サンプルドキュメントの構造は次のとおりです:
{
"user_id": 123,
"item_id": 456,
"action": "click"
}
次に、データを保存するためのインデックスを作成する必要があります。 Elasticsearch では、インデックスはドキュメント データを保存および整理するために使用されるデータベースと考えることができます。
インデックスは、Elasticsearch の REST API を使用して簡単に作成できます。インデックスを作成するサンプル コードは次のとおりです。
PUT /recommendations
{
"mappings": {
"properties": { "user_id": { "type": "integer" }, "item_id": { "type": "integer" }, "action": { "type": "text" } }
}
}
Elasticsearch の Bulk API を使用して、一度に大量のデータをインポートできます。サンプルコードは次のとおりです:
POST /recommendations/_bulk
{ "index": { "_index": "recommendations", "_id": "1" }}
{ "user_id" : 123、"item_id": 456、"action": "クリック" }
{ "index": { "_index": "推奨事項"、 "_id": "2" }}
{ "user_id" : 123, "item_id": 789, "action": "buy" }
...
データをインポートするとき、特定のビジネス ニーズに応じて異なる重みを設定できます。たとえば、推奨プロセスでより多くの重みが与えられるように、購入レコードに対してより高い重みを設定できます。
レコメンデーション システムでは、クエリは重要なリンクです。 Elasticsearch のクエリ機能を使用して、ユーザーの過去の行動に基づいた推奨結果を取得できます。
ユーザー 123 に関連する製品の推奨を例にとると、Elasticsearch のクエリ API を使用してリアルタイムの推奨を行うことができます。サンプルコードは次のとおりです:
GET /recommendations/_search
{
"query": {
"bool": { "must": [ { "term": { "user_id": 123 } } ] }
},
"size": 10
}
上記のコードは、ユーザー 123 に関連する上位 10 件の推奨結果を返します。
最後に、結果をユーザーに表示します。特定のビジネスニーズに応じて、Webページやアプリなどを使用して推奨結果を表示できます。
以下は、Web ページに推奨結果を表示するためのサンプル コードです。
100db36a723c770d327fc0aef2ce13b1
93f0f5c25f18dab9d176bd4f6de5d30e
<title>推荐结果</title>
3c7b149cc556f883a18b3c490b028d4e
6c04bd5ca3fcae76e30b72ad730ca86d
<h1>推荐结果</h1> <?php // 假设推荐结果存储在一个数组中 $recommendations = [ "商品1", "商品2", "商品3", ... ]; foreach ($recommendations as $recommendation) { echo "<p>{$recommendation}</p>"; } ?>
36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e
概要
この記事では、Elasticsearch を使用して、シンプルなレコメンドシステム。ユーザーの履歴行動データを収集し、インデックスを作成し、データをインポートし、クエリと推奨を行って、その結果をユーザーに表示することで、Elasticsearch に基づく推奨システムを簡単に構築できます。この記事がお役に立てば幸いです!
以上がElasticsearchを使用してレコメンデーションシステムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。