현재 위치: > 최신 기사 목록> PHP 및 Manticore 검색 개발 가이드 : 쿼리 확장으로 검색 정확도 향상

PHP 및 Manticore 검색 개발 가이드 : 쿼리 확장으로 검색 정확도 향상

M66 2025-06-07

소개

정보 볼륨의 폭발로 인해 검색 경험에 대한 사용자의 요구 사항도 증가하고 있습니다. Manticore Search는 PHP 개발 기능을 결합하여 반응적이고 정확한 검색 시스템을 만드는 고성능 오픈 소스 전체 텍스트 검색 엔진입니다. 이 기사는 두 가지의 통합 실습에 중점을두고 환경 구성, 색인 제작에서 쿼리 확장을 사용하여 검색 정확도 향상에 이르기까지 개발 프로세스를 점차적으로 소개합니다.

환경 준비 : PHP 및 Manticore 검색

개발을 시작하려면 먼저 Manticore 검색 서버가 설치되고 관련 확장 모듈이 PHP에서 활성화되어 있는지 확인해야합니다. PHP 구성 파일 php.ini 에 다음 줄을 추가하여 확장자를로드하십시오.

 <span class="fun">Extension = manticore.so</span>

구성을 완료 한 후 PHP 서비스를 다시 시작하십시오.

검색 색인을 작성하고 데이터를 추가하십시오

실제로 검색하기 전에 기본 색인을 구축해야합니다. 예를 들어, 제목 및 내용과 같이 전체 텍스트로 검색 해야하는 필드를 정의하는 인덱스 를 작성하고 정의 할 수 있습니다. 다음은 색인 생성 및 샘플 데이터 추가를위한 샘플 코드입니다.

 // 인덱스를 만듭니다
$index = 'articles';
$query = 'CREATE TABLE ' . $index . ' (title text, content text)';
$result = $conn->query($query);

// 데이터 추가
$query = 'INSERT INTO ' . $index . ' (title, content) VALUES ("Lorem Ipsum", "Lorem ipsum dolor sit amet, consectetur adipiscing elit.")';
$result = $conn->query($query);

검색 쿼리를 수행하십시오

인덱스에 데이터를 추가 한 후 검색 작업을 수행 할 수 있습니다. Manticore는 전체 텍스트 매칭 쿼리의 매치 구문을 지원합니다. 다음은 기본 검색 논리의 예입니다.

 // 검색 쿼리를 수행하십시오
$index = 'articles';
$query = 'SELECT * FROM ' . $index . ' WHERE MATCH(\'Lorem\')';
$result = $conn->query($query);

// 출력 결과
if ($result && $result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo '제목:' . $row['title'] . '<br>';
        echo '콘텐츠:' . $row['content'] . '<br>';
    }
} else {
    echo '관련 결과가 없습니다。';
}

이 쿼리는 키워드 "Lorem"이 포함 된 관련 레코드를 반환하고 일치하는 컨텐츠를 신속하게 찾습니다.

검색 결과를 최적화하기 위해 쿼리 확장을 사용하십시오

검색 결과의 관련성을 더욱 향상시키기 위해 쿼리 확장 기능을 활성화 할 수 있습니다. 예를 들어, Stemmer는 키워드를 뿌리로 복원하여 일치하는 정확도를 효과적으로 향상시킬 수 있습니다.

다음 예제는 인덱스에 쿼리 확장을 추가하는 방법을 보여줍니다.

 // 쿼리 확장자를 추가하십시오
$index = 'articles';
$query = 'ALTER TABLE ' . $index . ' ADD QUERY EXPANSION stemmer';
$result = $conn->query($query);

활성화되면 쿼리를 실행할 때 확장자 이름을 지정하십시오.

 // 사용 stemmer 검색을위한 쿼리 확장
$index = 'articles';
$query = 'SELECT * FROM ' . $index . ' WHERE MATCH(\'Lorem\') OPTION query_expansion=stemmer';
$result = $conn->query($query);

이 방법을 통해 검색은 스템 밍 프로세싱을 자동으로 수행하여 키워드 일치의 폭과 정확도를 향상시킵니다.

결론

PHP 및 Manticore 검색을 통합하는 것은 고성능 검색 시스템을 구축하기위한 효과적인 솔루션입니다. 기본 색인 생성부터 쿼리 확장을 사용하여 검색 로직 최적화에 이르기까지 개발자는 다양한 비즈니스 시나리오에서 검색 요구에 유연하게 응답 할 수 있습니다. 앞으로 전자 상거래, 블로그, 포럼 및 기타 플랫폼 에서이 솔루션을 기반으로하는 검색 기능은 사용자 경험이 높고 실용적인 가치를 갖게됩니다.