음악 검색 및 추천을 위해 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
쿼리를 사용하여 전체 텍스트 검색을 수행할 수 있습니다. 다음은 샘플 코드입니다. 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의 more_like_this
쿼리를 사용하여 특정 음악과 유사한 음악을 찾을 수 있습니다. 다음은 샘플 코드 조각입니다.
위 내용은 음악 검색 및 추천을 위해 Elasticsearch와 PHP를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!