다중 필드 결합 쿼리를 구현하기 위해 PHP Elasticsearch를 사용하는 방법은 무엇입니까?
소개:
Elasticsearch는 Lucene을 기반으로 하는 분산 오픈 소스 검색 엔진으로 빠르고 안정적인 전체 텍스트 검색 기능을 제공하며 대규모 데이터의 저장, 검색 및 분석을 지원합니다. 이 기사에서는 다양한 검색 요구 사항을 더 잘 충족하기 위해 PHP Elasticsearch 라이브러리를 사용하여 다중 필드 결합 쿼리를 구현하는 방법을 살펴보겠습니다.
1. Elasticsearch 설치 및 구성
php Elasticsearch 라이브러리를 사용하려면 먼저 Elasticsearch를 설치하고 구성해야 합니다. 공식 웹사이트에서 Elasticsearch를 다운로드하여 설치하고 실행되는지 확인할 수 있습니다.
2. php Elasticsearch 라이브러리 설치
Composer를 사용하여 php Elasticsearch 라이브러리를 설치할 수 있습니다. 프로젝트 루트 디렉터리에 작곡가.json 파일을 만들고 다음 콘텐츠를 추가합니다.
{
"require": {
"elasticsearch/elasticsearch": "^7.0"
}
}
그런 다음 명령줄에서 다음 명령을 실행하여 라이브러리를 설치합니다.
composer install
Three , Elasticsearch에 연결
다음으로, PHP 코드에서 Elasticsearch에 연결할 클라이언트를 생성합니다. 파일 시작 부분에 다음 코드를 추가합니다.
require 'vendor/autoload.php';
$client = new ElasticsearchClient()
4. 인덱스 생성
검색할 데이터를 인덱스에 저장합니다. 여기서 책 정보를 저장하고 싶다고 가정해 보겠습니다. PHP 코드에 다음 코드 조각을 추가하세요:
$params = [
'index' => 'books', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => [ 'type' => 'text' ], 'author' => [ 'type' => 'text' ], 'category' => [ 'type' => 'keyword' ] ] ] ]
];
$response = $client->indices()->create($params);
이렇게 하면 다음과 같은 파일이 생성됩니다. "책"의 색인을 생성하고 "제목", "저자" 및 "범주"의 세 가지 필드를 정의합니다.
5. 문서 추가
검색할 문서를 색인에 추가하세요. PHP 코드에 다음 코드 조각을 추가합니다.
$params = [
'index' => 'books', 'id' => '1', 'body' => [ 'title' => 'The Great Gatsby', 'author' => 'F. Scott Fitzgerald', 'category' => 'Fiction' ]
];
$response = $client->index($params);
6. 다중 필드 조합 쿼리를 실행합니다
이제 준비가 되었습니다. 이제 다중 필드 조합 쿼리를 수행할 시간입니다. PHP 코드에 다음 코드 조각을 추가합니다.
$params = [
'index' => 'books', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ ['match' => ['title' => 'great']], ['match' => ['author' => 'fitzgerald']] ] ] ] ]
];
$response = $client->search($params);
위 코드에서는 bool 쿼리를 사용하여 다중 필드 조합 쿼리. must 절에서는 "제목" 필드와 "저자" 필드를 각각 일치시키기 위해 두 개의 일치 절을 사용합니다. 즉, 두 조건을 모두 충족하는 문서만 검색됩니다.
7. 검색 결과 처리
검색 결과에는 쿼리 조건을 충족하는 모든 문서가 포함됩니다. 검색 결과를 처리하려면 PHP 코드에 다음 코드 조각을 추가하세요.
foreach ($response['hits']['hits'] as $hit) {
echo $hit['_source']['title']; echo $hit['_source']['author']; echo $hit['_source']['category']; echo "
";
}
8. 요약
In 이 기사에서는 php Elasticsearch 라이브러리를 사용하여 다중 필드 결합 쿼리를 구현하는 방법, Elasticsearch 설치 및 구성, php Elasticsearch 라이브러리 설치, Elasticsearch에 연결, 인덱스 생성, 문서 추가 및 다중 필드 수행 단계를 논의했습니다. php Elasticsearch 라이브러리를 사용하여 결합된 쿼리를 사용하면 Elasticsearch를 쉽게 조작하고 다양한 검색 요구 사항을 충족할 수 있습니다.
코드 샘플 개요.PNG
위는 php Elasticsearch를 사용하여 다중 필드 조합 쿼리를 구현하는 방법에 대한 자세한 단계와 샘플 코드입니다.
위 내용은 다중 필드 결합 쿼리를 구현하기 위해 PHP Elasticsearch를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!