PHP 및 Elasticsearch를 사용하여 실시간에 가까운 검색을 달성하는 방법
검색 기능은 최신 웹 애플리케이션의 중요한 부분입니다. 많은 양의 데이터와 여러 사용자의 동시 검색을 처리할 때 기존의 데이터베이스 쿼리 방법은 더 이상 요구 사항을 충족할 수 없습니다. Elasticsearch는 대규모 데이터를 빠르게 처리하고 고성능, 고가용성을 제공할 수 있는 오픈소스 분산 검색 및 분석 엔진입니다. 이 기사에서는 PHP와 Elasticsearch를 사용하여 거의 실시간 검색 기능을 구현하는 방법을 소개합니다.
먼저 서버에 Elasticsearch를 설치해야 합니다. 공식 홈페이지(https://www.elastic.co/downloads/elasticsearch)에서 최신 버전의 설치 패키지를 다운로드한 후, 공식 문서에 따라 설치 및 구성하시면 됩니다.
그런 다음 PHP용 Elasticsearch 클라이언트 라이브러리를 설치해야 합니다. Composer를 사용하여 설치하고 다음 명령을 실행할 수 있습니다.
composer require elasticsearch/elasticsearch
PHP 코드에서 먼저 Elasticsearch 클라이언트 인스턴스를 생성하고 Elasticsearch 서버에 연결해야 합니다. 다음은 간단한 예입니다.
require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build();
검색을 수행하기 전에 먼저 인덱스 및 매핑을 생성해야 합니다. 인덱스는 기존 데이터베이스의 테이블과 유사하게 Elasticsearch에 데이터를 저장하기 위한 논리적 개념입니다.
다음은 인덱스 생성 및 매핑 예시입니다.
$params = [ 'index' => 'my_index', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => [ 'type' => 'text', ], 'content' => [ 'type' => 'text', ], ], ], ], ]; $response = $client->indices()->create($params);
위 코드에서는 my_index
라는 인덱스가 생성되고, 제목
과 content가 생성됩니다.
필드는 매핑을 정의합니다. 실제 필요에 따라 다양한 필드와 매핑 유형을 정의할 수 있습니다. my_index
的索引,并为title
和content
字段定义了映射。可以根据实际需求定义不同的字段和映射类型。
在进行搜索之前,需要将数据添加到索引中。下面是一个示例:
$params = [ 'index' => 'my_index', 'body' => [ 'title' => 'example title', 'content' => 'example content', ], ]; $response = $client->index($params);
以上代码中,将一个包含title
和content
字段的文档添加到索引my_index
中。可以根据实际需求添加更多的字段和内容。
最后,可以创建一个搜索查询来执行实际的搜索操作。下面是一个简单的搜索查询示例:
$params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'match' => [ 'title' => 'example', ], ], ], ]; $response = $client->search($params); foreach ($response['hits']['hits'] as $hit) { echo $hit['_source']['title'] . " "; }
以上代码中,执行了一个根据title
字段进行匹配的搜索查询,并输出了搜索结果中的title
title
및 content
필드가 포함된 문서가 my_index
인덱스에 추가됩니다. 실제 필요에 따라 더 많은 필드와 콘텐츠를 추가할 수 있습니다. 🎜제목
필드를 기준으로 검색어가 실행되어 검색결과의 제목
이 출력됩니다. . 필드. 🎜🎜요약하자면, PHP와 Elasticsearch를 사용하면 거의 실시간 검색 기능을 쉽게 구현할 수 있습니다. Elasticsearch 설치 및 구성부터 Elasticsearch 연결, 인덱스 및 매핑 생성, 문서 추가, 검색 작업 수행까지의 전체 프로세스를 살펴보았습니다. 이 기사가 PHP와 Elasticsearch를 사용하여 실시간에 가까운 검색 기능을 구현하는 데 도움이 되기를 바랍니다. 🎜위 내용은 PHP와 Elasticsearch를 사용하여 실시간에 가까운 검색을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!