PHP 및 Manticore 검색 개발: 고유한 검색 결과 표시 만들기
개요:
현대 인터넷 시대에 검색 엔진은 의심할 여지 없이 사용자가 정보를 얻는 데 선호하는 도구 중 하나가 되었습니다. 그리고 웹사이트 및 앱 개발자에게는 검색 결과를 효율적이고 정확하며 고유하게 표시하는 것이 중요합니다. 이 문서에서는 PHP와 Manticore 검색을 사용하여 검색 결과 표시를 개발하고 최적화하는 방법을 소개합니다.
맨티코어 검색 소개:
만티코어 검색은 오픈 소스 검색 엔진 Sphinx를 기반으로 개발된 전체 텍스트 검색 서비스입니다. 고성능, 확장성 및 포괄적인 검색 기능을 제공합니다. PHP를 사용하여 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']; // ... }
}
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!