인터넷의 빠른 발전으로 빅 데이터의 적용으로 검색 엔진이 현대 사회의 인프라 중 하나가되었습니다. 웹 응용 프로그램에서 검색 및 인덱싱 기능은 효율적인 데이터 검색을 제공 할뿐만 아니라 사용자에게보다 정확한 정보 필터링을 제공 할 수 있습니다. 이 기사에서는 PHP 마이크로 서비스 아키텍처에서 분산 검색 및 인덱싱 기능을 구현하는 방법을 소개하여 검색 엔진의 성능을 최적화 할 수 있습니다.
분산 검색 및 인덱싱 기술은 거대한 데이터 세트를 여러 파편으로 분할하여 다른 서버에서 병렬로 처리합니다. 이 기술에는 주로 다음 주요 구성 요소가 포함됩니다.
Elasticsearch는 Apache Lucene에 구축 된 오픈 소스 분산 검색 및 분석 엔진으로 모든 종류의 애플리케이션에 적합한 강력한 전체 텍스트 검색 및 분산 검색 기능을 제공합니다. 다음은 Elasticsearch를 사용하여 PHP 마이크로 서비스에서 분산 검색 및 인덱싱을 구현하는 방법에 대한 특정 단계는 다음과 같습니다.
먼저 우분투 시스템에 Elasticsearch를 설치하십시오.
<span class="fun">$ sudo apt-get 업데이트</span>
<span class="fun">$ sudo apt-get install elasticsearch</span>
그런 다음 Composer를 통해 PHP Elasticsearch 클라이언트를 설치하십시오.
<span class="fun">작곡가는 Elasticsearch/Elasticsearch가 필요합니다</span>
PHP의 Elasticsearch 클라이언트를 사용하여 Elasticsearch 클러스터에 연결하십시오. 다음은 샘플 코드입니다.
<span class="fun">'공급 업체/autoload.php'가 필요합니다.</span>
<span class="fun">$ client = elasticsearchClientBuilder :: create ()-> build ();</span>
다음으로 Elasticsearch 클라이언트를 사용하여 색인을 생성하고 문서를 추가 할 수 있습니다. 코드 예는 다음과 같습니다.
<span class="fun">$ params = [</span>
<span class="fun"> 'index'=> 'my_index',</span>
<span class="fun"> '몸'=> [</span>
<span class="fun"> '설정'=> [</span>
<span class="fun"> 'number_of_shards'=> 2,</span>
<span class="fun"> 'number_of_replicas'=> 1,</span>
<span class="fun"> ],,</span>
<span class="fun"> '매핑'=> [</span>
<span class="fun"> '속성'=> [</span>
<span class="fun"> 'title'=> [ 'type'=> 'text'],</span>
<span class="fun"> 'content'=> [ 'type'=> 'text'],</span>
<span class="fun"> 'timestamp'=> [ 'type'=> 'date'],</span>
<span class="fun"> ]]</span>
<span class="fun"> ]]</span>
<span class="fun"> ];</span>
<span class="fun">$ response = $ client-> indices ()-> create ($ params);</span>
<span class="fun">$ params = [</span>
<span class="fun"> 'index'=> 'my_index',</span>
<span class="fun"> 'ID'=> '1',</span>
<span class="fun"> '몸'=> [</span>
<span class="fun"> 'title'=> 'example',</span>
<span class="fun"> 'content'=> '이것은 예제 문서입니다.',</span>
<span class="fun"> '타임 스탬프'=> '2022-01-01T00 : 00 : 00Z',</span>
<span class="fun"> ];</span>
<span class="fun">$ response = $ client-> index ($ params);</span>
마지막으로 Elasticsearch 클라이언트를 통해 검색 할 수 있습니다. 다음은 검색의 코드 예입니다.
<span class="fun">$ params = [</span>
<span class="fun"> 'index'=> 'my_index',</span>
<span class="fun"> '몸'=> [</span>
<span class="fun"> 'query'=> [</span>
<span class="fun"> 'match'=> [</span>
<span class="fun"> 'content'=> 'example',</span>
<span class="fun"> ],,</span>
<span class="fun"> ]]</span>
<span class="fun"> ];</span>
<span class="fun">$ response = $ client-> search ($ params);</span>
<span class="fun">foreach ($ responsk [ 'hits'] [ 'hits'] as $ hit) {</span>
<span class="fun"> echo $ hit [ '_ source'] [ 'title'];</span>
<span class="fun">}</span>
이 기사는 PHP 마이크로 서비스에서 분산 검색 및 인덱싱 기능을 구현하는 방법을 소개하고 자세한 코드 예제를 제공합니다. Elasticsearch를 사용하면 효율적인 검색 엔진을 달성하고 시스템 성능 및 확장 성을 향상시킬 수 있습니다. 이러한 단계를 통해 자신의 분산 검색 서비스를보다 쉽게 구축하여 사용자에게 빠르고 정확한 정보 검색 경험을 제공 할 수 있습니다.