>백엔드 개발 >PHP 튜토리얼 >PHP 및 Manticore 검색 개발: 고유한 검색 결과 표시 생성

PHP 및 Manticore 검색 개발: 고유한 검색 결과 표시 생성

WBOY
WBOY원래의
2023-08-06 10:18:151625검색

PHP 및 Manticore 검색 개발: 고유한 검색 결과 표시 만들기

개요:
현대 인터넷 시대에 검색 엔진은 의심할 여지 없이 사용자가 정보를 얻는 데 선호하는 도구 중 하나가 되었습니다. 그리고 웹사이트 및 앱 개발자에게는 검색 결과를 효율적이고 정확하며 고유하게 표시하는 것이 중요합니다. 이 문서에서는 PHP와 Manticore 검색을 사용하여 검색 결과 표시를 개발하고 최적화하는 방법을 소개합니다.

맨티코어 검색 소개:
만티코어 검색은 오픈 소스 검색 엔진 Sphinx를 기반으로 개발된 전체 텍스트 검색 서비스입니다. 고성능, 확장성 및 포괄적인 검색 기능을 제공합니다. PHP를 사용하여 Manticore 검색 서비스에 연결하고 쿼리하면 검색 키워드를 기반으로 정확한 결과 데이터를 얻을 수 있어 매우 편리합니다.

  1. Manticore Search 설치 및 구성:
    먼저 Manticore Search를 설치하고 구성해야 합니다. 맨티코어 검색은 공식 홈페이지(https://manticoresearch.com/)에서 다운로드 및 설치가 가능합니다. 설치가 성공적으로 완료되면 인덱스 정의, 검색 서비스 구성 등 기본 구성을 수행해야 합니다. 구체적인 구성 세부 정보는 Manticore Search 공식 문서를 참조하세요.
  2. Manticore 검색 서비스에 연결:
    PHP에서는 Manticore 검색에서 제공하는 공식 확장 "manticore"를 사용하거나 타사 확장 "sphinxapi"를 사용하여 Manticore 검색 서비스에 연결하고 쿼리할 수 있습니다.

공식 확장명 "manticore"를 사용한 샘플 코드는 다음과 같습니다.

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

// 키워드 검색
$keyword = 'PHP';
$res = $conn->query($keyword, 'my_index');
if ($res && $res->getTotal() > 0 ) {

// 遍历搜索结果
foreach ($res->getMatches() as $match) {
    // 处理搜索结果数据
    $id = $match['id'];
    $title = $match['attrs']['title'];
    $content = $match['attrs']['content'];
    // ...
}

}

  1. 검색 결과에 따라 표시:
    검색 결과를 얻은 후에 그에 따라 표시해야 합니다. 다음은 검색 결과를 고유한 방식으로 표시하는 몇 가지 샘플 코드입니다.

a) 검색 키워드 강조 표시:
검색 결과에서 키워드를 강조 표시하면 사용자가 관련 정보를 더 쉽게 찾을 수 있습니다. PHP의 내장 기능과 HTML 태그를 사용하여 키워드 강조를 달성할 수 있습니다.

$highlightedTitle = preg_replace('/('.$keyword.')/i', '$1128dba7a3a77be0113eb0bea6ea0a5d0', $title);
$highlightedContent = preg_replace('/('.$keyword.' )/i', '$1128dba7a3a77be0113eb0bea6ea0a5d0', $content);

echo "684271ed9684bde649abda8831d4d355".$highlightedTitle."39528cedfa926ea0c01e69ef5b2ea9b0";
echo "e388a4556c0f65e1904146cc1a846bee".$ highlightedContent."94b3e26ee717c64999d7867364b1b4a3";

b) 정렬 및 가중치 표시:
Manticore 검색을 사용하면 검색 결과에 대한 정렬 및 가중치를 설정할 수 있습니다. 이러한 순위와 가중치를 사용하여 보다 타겟팅되고 사용자 정의 가능한 검색 결과를 표시할 수 있습니다.

$res->setSortMode(SPH_SORT_ATTR_DESC, 'weight');
$res->setFieldWeights(array('title'=>10, 'content'=>5));

foreach ($res ->getMatches() as $match) {

$id = $match['id'];
$title = $match['attrs']['title'];
$content = $match['attrs']['content'];
$weight = $match['weight'];

echo "<h3>".$title."</h3>";
echo "<p>".$content."</p>";
echo "<p>权重: ".$weight."</p>";

}

결론:
PHP와 Manticore Search를 사용하면 검색 결과 표시를 쉽게 개발하고 최적화할 수 있습니다. 키워드, 순위 및 가중치를 강조함으로써 독특하고 사용자 친화적인 검색 결과 페이지를 만들고 사용자 경험을 개선하며 보다 정확한 정보 검색 서비스를 제공할 수 있습니다. 실제 적용에서는 다양한 시나리오의 요구 사항을 충족하기 위해 필요에 따라 검색 결과 표시 방법을 추가로 사용자 정의할 수 있습니다.

위 내용은 PHP 및 Manticore 검색 개발: 고유한 검색 결과 표시 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.