문서 관리 및 검색에 Elasticsearch와 PHP를 활용하는 방법
개요
Elasticsearch는 강력한 텍스트 검색 및 분석 기능을 갖춘 오픈 소스 분산 검색 엔진입니다. PHP는 웹 개발에 널리 사용되는 널리 사용되는 서버 측 프로그래밍 언어입니다. 이 기사에서는 문서 관리 및 검색을 위해 Elasticsearch와 PHP를 사용하는 방법을 소개하고 독자의 이해와 실습을 돕기 위한 코드 예제를 제공합니다.
Elasticsearch 설치 및 구성
먼저 Elasticsearch를 설치하고 구성해야 합니다. Elasticsearch 공식 웹사이트에서 최신 버전을 다운로드하고 지침에 따라 설치할 수 있습니다. 설치가 완료되면 Elasticsearch에서 클러스터 이름 및 노드 이름 설정과 같은 몇 가지 기본 구성을 수행해야 합니다. 구체적인 구성 방법은 Elasticsearch 공식 문서를 참고하세요.
PHP 클라이언트 설치 및 구성
다음으로 Elasticsearch와 상호 작용하려면 PHP 클라이언트를 설치하고 구성해야 합니다. Elasticsearch에서 공식적으로 제공하는 PHP 클라이언트 - Elasticsearch-PHP(https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html) 사용을 권장합니다. Composer를 사용하여 클라이언트를 설치할 수 있습니다. 명령은 다음과 같습니다.
composer require elasticsearch/elasticsearch
설치가 완료된 후 다음 코드를 사용하여 Elasticsearch에 연결하고 연결이 성공했는지 확인할 수 있습니다.
위 코드에서는 먼저 Elasticsearch-PHP 클라이언트가 도입되었고 Elasticsearch 클라이언트 인스턴스가 생성되었습니다. 그런 다음 이 클라이언트 인스턴스를 사용하여 간단한 쿼리 요청을 보냅니다. 쿼리문의match_all
은 모든 문서가 일치한다는 의미이고, test_index
는 쿼리할 인덱스를 의미합니다. 마지막으로 search
메소드를 통해 쿼리 요청을 보내고 쿼리 결과를 출력합니다. match_all
表示匹配所有文档,test_index
表示要查询的索引。最后,我们通过search
方法发送查询请求,并打印出查询结果。
创建索引和文档
接下来,我们将学习如何创建索引和文档。索引是存储文档的地方,类似于关系数据库中的表。而文档则是实际的数据,类似于关系数据库中的行。可以使用以下代码来创建索引和一个简单的文档:
require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create() ->setHosts(['localhost:9200']) ->build(); $params = [ 'index' => 'test_index', 'body' => [ 'query' => [ 'match_all' => new stdClass(), ], ], ]; $response = $client->search($params); print_r($response);
以上代码中,我们首先使用indices()->create
方法创建了一个名为my_index
的索引,并指定了一些索引的设置和属性(mapping)。接着,我们使用index
方法创建了一个文档,并指定了文档的标题和内容。
搜索文档
有了索引和文档后,我们可以使用Elasticsearch进行搜索。以下是一个简单的搜索示例代码:
$params = [ 'index' => 'my_index', 'body' => [ 'settings' => [ 'number_of_replicas' => 0, 'number_of_shards' => 1, ], 'mappings' => [ 'properties' => [ 'title' => [ 'type' => 'text', ], 'content' => [ 'type' => 'text', ], ], ], ], ]; $response = $client->indices()->create($params); $params = [ 'index' => 'my_index', 'id' => '1', 'body' => [ 'title' => 'Elasticsearch入门指南', 'content' => '本书详细介绍了如何使用Elasticsearch进行文档管理和检索。', ], ]; $response = $client->index($params);
以上代码中,我们使用了match
查询来搜索标题中包含入门指南
的文档。通过打印查询结果,我们可以看到Elasticsearch返回了匹配的文档信息。
更新和删除文档
当需要更新或删除文档时,可以使用以下代码示例:
$params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'match' => [ 'title' => '入门指南', ], ], ], ]; $response = $client->search($params); print_r($response);
以上代码中,我们首先使用update
方法更新了ID为1的文档的标题。然后,使用delete
색인 및 문서 만들기
$params = [ 'index' => 'my_index', 'id' => '1', 'body' => [ 'doc' => [ 'title' => 'Elasticsearch入门指南(第二版)', ], ], ]; $response = $client->update($params); $params = [ 'index' => 'my_index', 'id' => '1', ]; $response = $client->delete($params);
indices()->create
메서드를 사용하여 라는 파일을 만듭니다. my_index
인덱스이며 일부 인덱스 설정 및 속성(매핑)을 지정합니다. 다음으로 index
메소드를 사용하여 문서를 생성하고 문서의 제목과 내용을 지정합니다. 🎜문서 검색🎜색인과 문서가 준비되면 Elasticsearch를 사용하여 검색할 수 있습니다. 다음은 간단한 검색 예제 코드입니다. 🎜rrreee🎜위 코드에서는 match
쿼리를 사용하여 제목에 Getting Started
가 포함된 문서를 검색했습니다. 쿼리 결과를 인쇄하면 Elasticsearch가 일치하는 문서 정보를 반환한 것을 확인할 수 있습니다. 🎜🎜문서 업데이트 및 삭제🎜문서를 업데이트하거나 삭제해야 하는 경우 다음 코드 예제를 사용할 수 있습니다. 🎜rrreee🎜위 코드에서는 먼저 update
메서드를 사용하여 제목을 업데이트합니다. ID가 1인 문서입니다. 그런 다음 delete
메소드를 사용하여 ID 1의 문서를 삭제합니다. 🎜🎜요약🎜본 글의 소개와 코드 예시를 통해 문서 관리 및 검색을 위해 Elasticsearch와 PHP를 사용하는 방법을 배웠습니다. 먼저 Composer를 사용하여 Elasticsearch와 Elasticsearch-PHP 클라이언트를 설치하고 구성해야 합니다. 그런 다음 색인과 문서를 생성하는 방법과 문서를 검색, 업데이트, 삭제하는 방법을 배웠습니다. 이 기사가 독자들이 문서 관리 및 검색을 위해 Elasticsearch와 PHP를 더 잘 이해하고 사용하는 데 도움이 되기를 바랍니다. 🎜위 내용은 문서 관리 및 검색을 위해 Elasticsearch와 PHP를 활용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!