Elasticsearch と PHP を使用して音楽の検索とレコメンデーションを行う方法
概要
音楽ストリーミング プラットフォームでは、高速かつ正確な音楽検索とパーソナライズされたレコメンデーションを実現することが重要です。 Elasticsearch は、このようなシステムの構築に適した、人気のあるオープンソースの検索および分析エンジンです。この記事では、Elasticsearch と PHP を使用して音楽検索とレコメンデーション機能を実装する方法を紹介し、関連するコード例を示します。
# 安装Elasticsearch $ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}.tar.gz $ tar -xvf elasticsearch-{version}.tar.gz $ cd elasticsearch-{version}/bin $ ./elasticsearch # 创建索引和映射 $ curl -XPUT 'http://localhost:9200/music' -H 'Content-Type: application/json' -d ' { "mappings": { "properties": { "title": { "type": "text" }, "artist": { "type": "text" }, "genre": { "type": "keyword" } } } } '
require 'vendor/autoload.php'; $hosts = ['localhost:9200']; $client = ElasticsearchClientBuilder::create()->setHosts($hosts)->build(); // 导入音乐数据 $music1 = [ 'title' => 'Song 1', 'artist' => 'Artist 1', 'genre' => 'Pop' ]; $music2 = [ 'title' => 'Song 2', 'artist' => 'Artist 2', 'genre' => 'Rock' ]; $params = [ 'index' => 'music', 'id' => 1, 'body' => $music1 ]; $response = $client->index($params); $params = [ 'index' => 'music', 'id' => 2, 'body' => $music2 ]; $response = $client->index($params);
match
クエリを使用して全文検索を実行できます。以下にサンプルコードを示します。 // 执行搜索 $params = [ 'index' => 'music', 'body' => [ 'query' => [ 'match' => [ 'title' => 'song' ] ] ] ]; $response = $client->search($params); // 处理搜索结果 foreach ($response['hits']['hits'] as $hit) { $music = $hit['_source']; echo 'Title: ' . $music['title'] . ', Artist: ' . $music['artist'] . ', Genre: ' . $music['genre']; echo " "; }
more_like_this
クエリを使用して、特定の音楽に似た音楽を検索できます。以下はサンプル コード スニペットです: // 执行推荐查询 $params = [ 'index' => 'music', 'body' => [ 'query' => [ 'more_like_this' => [ 'fields' => ['title', 'artist'], 'like' => [ '_index' => 'music', '_id' => 1 ] ] ] ] ]; $response = $client->search($params); // 处理推荐结果 foreach ($response['hits']['hits'] as $hit) { $music = $hit['_source']; echo 'Title: ' . $music['title'] . ', Artist: ' . $music['artist'] . ', Genre: ' . $music['genre']; echo " "; }
概要
Elasticsearch と PHP を組み合わせることで、音楽検索とパーソナライズされたレコメンデーション機能を簡単に実装できます。この記事では、Elasticsearchの設定方法、音楽データのインポート方法、音楽検索機能や音楽レコメンド機能の実装方法と、対応するコード例を紹介します。この記事が、より良い音楽ストリーミング プラットフォームの構築に役立つことを願っています。
以上がElasticsearch と PHP を使用して音楽の検索と推奨を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。