Coreseek은 Sphinx를 기반으로 한 오픈 소스 전체 텍스트 검색 엔진으로 효율적인 성능과 강력한 검색 기능을 갖추고 있습니다. 중국어 단어 세분화, 무게 분류 및 강조 표시를 지원할뿐만 아니라 대규모 데이터 검색 작업을 효과적으로 처리 할 수 있습니다. Coreseek은 C ++로 작성되었으므로 잘 작동하며 PHP는 인기있는 스크립팅 언어로 Coreseek에서 쉽게 사용할 수 있습니다.
먼저 서버에 Coreseek을 설치해야합니다. 특정 설치 프로세스는 공식 문서를 참조하십시오. 설치가 완료되면 Coreseek : Sphinx.conf의 기본 구성 파일을 구성해야합니다. 간단한 구성 예는 다음과 같습니다.
소스 제품 { 타입 = mysql sql_host = localhost sql_user = 루트 sql_pass = 비밀번호 SQL_DB = 전자 상거래 SQL_QUERY = 선택 ID, 이름, 설명, 제품의 가격을 선택하십시오 } index product_index { 소스 = 제품 경로 =/path/to/index min_word_len = 2 min_prefix_len = 2 enable_star = 1 charset_type = utf-8 } searchd { 듣기 = 9312 듣기 = 9306 : mysql41 log =/path/to/log/searchd.log query_log = /path/to/log/query.log pid_file = /path/to/log/searchd.pid }
위의 예에서는 "제품"이라는 데이터 소스를 정의하는데,이 데이터는 제품 데이터가 "전자 상거래"라는 데이터베이스에 저장되고 "제품"테이블에서 제품 정보를 얻는다고 가정합니다. 동시에 "product_index"라는 색인이 정의되고 인덱스 파일의 스토리지 경로가 지정됩니다. 마지막으로 Coreseek의 검색 프로세스 검색을 설정했습니다.
다음으로 PHP 코드의 SphinxClient 클래스를 사용하여 Coreseek을 연결하고 사용합니다. 간단한 검색 예는 다음과 같습니다.
<?php require_once('sphinxapi.php'); $cl = new SphinxClient(); $cl->SetServer ( 'localhost', 9312); $ cl-> setMatchMode (sph_match_extended); $ cl-> setLimits (0, 20); // 결과 번호를 반환 한 $ keyword = $ _get [ 'keyword']; // 사용자가 입력 한 검색 키워드를 가져옵니다. if ($ res && $ res [ 'total_found']> 0) { foreach ($ res [ 'matches'] as $ match) { $ productId = $ match [ 'id']; // productId에 따라 데이터베이스에서 제품 정보를 얻고 표시}} } 또 다른 { Echo '관련 제품이 발견 없음'; } ?>
위의 코드 예제에서 먼저 Coreseek에서 제공하는 PHP 확장 파일 "sphinxapi.php"를 도입했습니다. 그런 다음 SphinxClient 객체를 작성하고 서버 주소와 포트를 설정 한 다음 일치 모드를 SPH_MATCH_EXTENDEND (Advanced Query 구문 지원)로 설정합니다. 마지막으로 쿼리 메소드를 사용하여 검색 요청을 시작하고 반환 된 결과를 기반으로 표시합니다.
이 기사의 예를 통해 PHP 및 Coreseek를 사용하여 전자 상거래 플랫폼 제품 검색 엔진을 개발하는 방법을 보여줍니다. 이 기사는 기본 기능 만 다루지 만 개발자는 실제 요구에 따라 고급 기능을 추가 할 수 있습니다. 이러한 방식으로 전자 상거래 플랫폼을위한 효율적이고 정확하며 사용자 친화적 인 제품 검색 엔진을 구축 할 수 있습니다.