현재 위치: > 최신 기사 목록> PHP 및 Manticore 검색 통합 : 개인화 된 검색 결과 표시 생성

PHP 및 Manticore 검색 통합 : 개인화 된 검색 결과 표시 생성

M66 2025-06-18

개요 :

현대 인터넷 시대에 검색 엔진은 사용자가 정보를 얻을 수있는 주요 도구 중 하나가되었습니다. 개발자가 검색 결과의 효율적이고 독특한 표시를 제공하는 것이 중요합니다. 이 기사는 PHP 및 Manticore 검색을 통해 검색 결과를 개발하고 최적화하는 방법을 자세히 소개하여 사용자 경험을 향상시키고 검색 정확도를 향상시킵니다.

Manticore 검색 소개 :

Manticore Search는 오픈 소스 검색 엔진 스핑크스를 기반으로 개발 된 고성능 전체 텍스트 검색 서비스입니다. 강력한 확장 성과 사용자 정의 가능성을 제공하며 대규모 데이터를 효율적으로 처리 할 수 ​​있습니다. PHP와의 조합을 통해 정확한 검색 결과를 쉽게 얻을 수 있습니다.

Manticore 검색 설치 및 구성 :

먼저 Manticore 검색을 설치해야합니다. Manticore Search의 공식 웹 사이트에서 설치를 다운로드하여 완료 할 수 있습니다. 설치 후 인덱스 정의 및 검색 서비스를 구성하여 성능 및 안정성을 보장해야합니다. 자세한 구성은 공식 문서를 참조하십시오.

Manticore 검색 서비스에 연결 :

PHP에서 개발자는 공식 Manticore 확장 또는 타사 Sphinx API 확장을 사용하여 Manticore 검색 서비스에 연결하도록 선택할 수 있습니다. 공식 확장을 통한 연결을위한 샘플 코드는 다음과 같습니다.

// manticore 검색 서비스에 연결 $ conn = new Manticorese ();
$ conn-> connect ( 'localhost', 9306);

// 키워드 검색 $ keyword = 'php';
$ res = $ conn-> query ($ 키워드, 'my_index');
if ($ res && $ res-> getTotal ()> 0) {
    // traverse search results foreach ($ res-> getMatches () as $ match) {
        $ id = $ match [ 'id'];
        $ title = $ match [ 'attrs'] [ 'title'];
        $ content = $ match [ 'attrs'] [ 'content'];
    }
}

검색 결과에 따라 표시 :

검색 결과를 얻은 후 개발자는 특정 요구에 따라이를 표시 할 수 있습니다. 몇 가지 일반적인 디스플레이 방법은 다음과 같습니다.

a) 검색 키워드 강조 :

검색 결과에서 키워드를 강조하면 사용자가 관련 정보를 더 빨리 식별 할 수 있습니다. PHP의 일반 표현식 및 HTML 태그를 사용하여이를 달성 할 수 있습니다.

$ HighlowedTitle = preg_replace ( &#39;/(&#39;.$ 키워드. &#39;)/i&#39;, &#39; <span style="background-color:yellow">$ 1</span> &#39;, $ title);
$ HighlodEdContent = preg_replace ( &#39;/(&#39;.$ 키워드. &#39;)/i&#39;, &#39; <span style="background-color:yellow">$ 1</span> &#39;, $ 컨텐츠);

에코 "<h3> ". $ HighlightedTitle."</h3> ";
에코 "<p> ". $ HighlodedContent."</p> ";

b) 정렬 및 무게 표시 :

Manticore Search를 사용하면 다른 필드에 따라 정렬 및 가중치를 설정할 수 있으며 개발자는 이러한 기능을 활용하여 검색 결과를보다 개인화하고 정확하게 만들 수 있습니다.

$ res-> setSortMode (sph_sort_attr_desc, &#39;weight&#39;);
$ res-> setfieldweights (배열 ( &#39;title&#39;=> 10, &#39;content&#39;=> 5));

foreach ($ res-> getMatches () as $ match) {
    $ id = $ match [ &#39;id&#39;];
    $ title = $ match [ &#39;attrs&#39;] [ &#39;title&#39;];
    $ content = $ match [ &#39;attrs&#39;] [ &#39;content&#39;];
    $ weight = $ match [ &#39;weight&#39;];

    에코 "<h3> ". $ 제목."</h3> ";
    에코 "<p> ". $ 컨텐츠."</p> ";
    에코 "<p> 무게 : ". $ 중량."</p> ";
}

결론적으로 :

PHP와 Manticore 검색을 결합하여 개발자는 최적화 된 검색 결과 디스플레이를 쉽게 구현할 수 있습니다. 키워드 강조 표시, 정렬 최적화 또는 웨이트 디스플레이이든 검색 경험과 사용자 만족도를 크게 향상시킬 수 있습니다. 실제 요구에 따라 개발자는 다양한 응용 프로그램 시나리오의 요구를 충족시키기 위해 검색 결과의 디스플레이 방법을 추가로 사용자 정의 할 수 있습니다.