>  기사  >  백엔드 개발  >  PHP에서 CoreSeek을 연결하는 방법

PHP에서 CoreSeek을 연결하는 방법

墨辰丷
墨辰丷원래의
2018-05-10 16:03:521469검색

이 글은 주로 php와 coreseek을 결합한 예를 소개합니다. php가 coreseek에 어떻게 연결되는지 관심있는 친구들은 참고하시면 됩니다.

다음은 코드입니다

<?php
require_once AN_ROOT."/inc/sphinxapi.php";
require_once AN_ROOT."/res/adodb/adodb.inc.php";
$keywords = $_REQUEST[&#39;keywords&#39;];

$info    = getInfoCoreSeek($keywords,$_GET[&#39;page&#39;]);

function getInfoCoreSeek($keywords,$page=1) {
    $mode = SPH_MATCH_ANY;
    $host = "localhost";
    $port = 3312;
    $index = "*";
    $limit = 4;
    $ranker = SPH_RANK_PROXIMITY_BM25;

    if(!$page) $page=1;
    $page = intval($page);
    $off = ($page-1)*$limit;

    $cl = new SphinxClient ();
    $cl->SetServer ( $host, $port );
    $cl->SetConnectTimeout ( 1 );
    $cl->SetWeights ( array ( 100, 1 ) );
    $cl->SetMatchMode ( $mode );
    $cl->SetLimits ( $off, $limit, ( $limit>10000 ) ? $limit : 10000 );
    $cl->SetRankingMode ( $ranker );
    $cl->SetArrayResult ( true );
    $res    = $cl->Query ( join(" ", $keywords), $index );
    if($res) {
        $pageL    = PageQuery($res[&#39;total&#39;],$page,4,"act=search&keywords=".$_REQUEST[&#39;keywords&#39;]);
        foreach($res[&#39;matches&#39;] as $v) {
            $arrID[]    = $v[&#39;id&#39;];    
        }
        $rs    = $GLOBALS[&#39;db&#39;]->GetAll("select id,title,content from info where id in(".join(&#39;,&#39;, $arrID).")");
        $GLOBALS[&#39;tpl&#39;]->assign(&#39;pageL&#39;, $pageL);
        //echo &#39;<pre class="brush:php;toolbar:false">&#39;;
        //print_r($res);
        //echo &#39;
'; return $rs; } } ?>

관련 권장 사항:

스핑크스, 중국어 단어 분할 coreseek 및 PHP의 스핑크스 확장 프로그램을 Linux

coreseek(sphinx) + Mysql + Thinkphp에서 컴파일하고 설치합니다. 중국 검색 엔진 구축

coreseek 구성 및 증분 인덱스 병합 인덱스

위 내용은 PHP에서 CoreSeek을 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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