현대 웹 애플리케이션에서는 검색 기능이 필수적이 불가능합니다. 특히 많은 양의 데이터와 높은 동시 쿼리에 직면 할 때. 기존 데이터베이스 쿼리 방법은 일반적으로 이러한 요구를 충족시킬 수 없으며 강력한 분산 검색 엔진으로서 대규모 데이터를 효율적으로 처리하고 거의 실시간 검색을 지원할 수 있습니다.
먼저 서버에 Elasticsearch를 설치해야합니다. 공식 웹 사이트에 액세스하여 최신 버전의 설치 패키지를 다운로드하고 관련 문서에 따라 설치 및 구성 할 수 있습니다.
다음으로 작곡가를 사용하여 PHP의 Elasticsearch 클라이언트 라이브러리를 설치하십시오. 설치하려면 다음 명령을 실행하십시오.
작곡가는 Elasticsearch/Elasticsearch가 필요합니다
PHP 코드에서는 먼저 Elasticsearch 클라이언트의 인스턴스를 작성하고 Elasticsearch 서버에 연결해야합니다. 다음은 샘플 코드입니다.
'공급 업체/autoload.php'가 필요합니다. $ client = elasticsearchClientBuilder :: create ()-> build ();
검색하기 전에 인덱스 및 매핑을 만들어야합니다. Elasticsearch에서 인덱스는 데이터베이스의 테이블과 동일하지만 맵은 데이터 구조를 정의합니다. 다음은 인덱스를 작성하고 매핑을 정의하는 예입니다.
$ params = [ 'index'=> 'my_index', '몸'=> [ '매핑'=> [ '속성'=> [ 'title'=> [ 'type'=> 'text'], 'content'=> [ 'type'=> 'text']] ]] ]] ]] ]; $ response = $ client-> indices ()-> create ($ params);
위의 코드는 "my_index"라는 색인을 생성하고 "제목"및 "컨텐츠"필드에 대한 텍스트 유형의 매핑을 정의합니다. 필요에 따라 필드 및 데이터 유형을 사용자 정의 할 수 있습니다.
다음으로 데이터를 인덱스에 추가해야합니다. 다음 코드는 "제목"및 "컨텐츠"필드가 포함 된 문서를 인덱스에 추가하는 방법을 보여줍니다.
$ params = [ 'index'=> 'my_index', '몸'=> [ 'title'=> '예제 제목', 'content'=> '예제 내용' ]] ]; $ response = $ client-> index ($ params);
이 코드는 "제목"및 "컨텐츠"필드가 포함 된 문서를 "my_index"색인에 추가하고 필요에 따라 더 많은 필드를 추가 할 수 있습니다.
데이터가 추가되면 검색 쿼리를 만들어 데이터를 검색 할 수 있습니다. 간단한 검색 쿼리 예는 다음과 같습니다.
$ params = [ 'index'=> 'my_index', '몸'=> [ 'query'=> [ 'match'=> [ '제목'=> '예제' ]] ]] ]] ]; $ response = $ client-> search ($ params); <p>foreach ($ responsk [ 'hits'] [ 'hits'] as $ hit) {<br> echo $ hit [ '_ source'] [ 'title']. "\N";<br> }<br>
이 코드는 "제목"필드에 대한 일치 쿼리를 생성하고 일치하는 문서 제목을 출력합니다.
PHP와 Elasticsearch를 결합하면 거의 근거리 검색 기능을 빠르고 효율적으로 수행 할 수 있습니다. 이 기사에서는 Elasticsearch 설치 및 구성 Elasticsearch 연결, 인덱스 작성, 문서 추가 및 검색 작업 수행에 이르기까지 완전한 프로세스에 대해 설명합니다. 이 기사가 ElasticSearch를 웹 응용 프로그램에 통합하는 방법을 더 잘 이해하고 원활한 검색 경험을 달성하는 데 도움이되기를 바랍니다.