정보 볼륨의 폭발로 인해 검색 경험에 대한 사용자의 요구 사항도 증가하고 있습니다. Manticore Search는 PHP 개발 기능을 결합하여 반응적이고 정확한 검색 시스템을 만드는 고성능 오픈 소스 전체 텍스트 검색 엔진입니다. 이 기사는 두 가지의 통합 실습에 중점을두고 환경 구성, 색인 제작에서 쿼리 확장을 사용하여 검색 정확도 향상에 이르기까지 개발 프로세스를 점차적으로 소개합니다.
개발을 시작하려면 먼저 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 검색을 통합하는 것은 고성능 검색 시스템을 구축하기위한 효과적인 솔루션입니다. 기본 색인 생성부터 쿼리 확장을 사용하여 검색 로직 최적화에 이르기까지 개발자는 다양한 비즈니스 시나리오에서 검색 요구에 유연하게 응답 할 수 있습니다. 앞으로 전자 상거래, 블로그, 포럼 및 기타 플랫폼 에서이 솔루션을 기반으로하는 검색 기능은 사용자 경험이 높고 실용적인 가치를 갖게됩니다.