현재 위치: > 최신 기사 목록> PHP 및 Elasticsearch를 사용하여 거의 실시간 검색을 구현하는 방법

PHP 및 Elasticsearch를 사용하여 거의 실시간 검색을 구현하는 방법

M66 2025-06-21

PHP 및 Elasticsearch를 사용하여 거의 실시간 검색을 구현하는 방법

현대 웹 애플리케이션에서는 검색 기능이 필수적이 불가능합니다. 특히 많은 양의 데이터와 높은 동시 쿼리에 직면 할 때. 기존 데이터베이스 쿼리 방법은 일반적으로 이러한 요구를 충족시킬 수 없으며 강력한 분산 검색 엔진으로서 대규모 데이터를 효율적으로 처리하고 거의 실시간 검색을 지원할 수 있습니다.

Elasticsearch 및 PHP 클라이언트를 설치하십시오

먼저 서버에 Elasticsearch를 설치해야합니다. 공식 웹 사이트에 액세스하여 최신 버전의 설치 패키지를 다운로드하고 관련 문서에 따라 설치 및 구성 할 수 있습니다.

다음으로 작곡가를 사용하여 PHP의 Elasticsearch 클라이언트 라이브러리를 설치하십시오. 설치하려면 다음 명령을 실행하십시오.

작곡가는 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 [ &#39;hits&#39;] [ &#39;hits&#39;] as $ hit) {<br>
echo $ hit [ &#39;_ source&#39;] [ &#39;title&#39;]. "\N";<br>
}<br>

이 코드는 "제목"필드에 대한 일치 쿼리를 생성하고 일치하는 문서 제목을 출력합니다.

요약

PHP와 Elasticsearch를 결합하면 거의 근거리 검색 기능을 빠르고 효율적으로 수행 할 수 있습니다. 이 기사에서는 Elasticsearch 설치 및 구성 Elasticsearch 연결, 인덱스 작성, 문서 추가 및 검색 작업 수행에 이르기까지 완전한 프로세스에 대해 설명합니다. 이 기사가 ElasticSearch를 웹 응용 프로그램에 통합하는 방법을 더 잘 이해하고 원활한 검색 경험을 달성하는 데 도움이되기를 바랍니다.