本篇文章主要介绍一个php和coreseek结合的例子,有对php如何连接coreseek感兴趣的小伙伴参考下。

以下是代码

<?php require_once AN_ROOT."/inc/sphinxapi.php"; require_once AN_ROOT."/res/adodb/adodb.inc.php"; $keywords = $_REQUEST['keywords']; $info = getInfoCoreSeek($keywords,$_GET['page']); 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['total'],$page,4,"act=search&keywords=".$_REQUEST['keywords']); foreach($res['matches'] as $v) { $arrID[] = $v['id']; } $rs = $GLOBALS['db']->GetAll("select id,title,content from info where id in(".join(',', $arrID).")"); $GLOBALS['tpl']->assign('pageL', $pageL); //echo '<pre>'; //print_r($res); //echo '</pre>'; return $rs; } } ?>

相关推荐:

linux下编译安装Sphinx、中文分词coreseek及PHP的sphinx扩展

coreseek (sphinx)+ Mysql + Thinkphp搭建中文搜索引擎详解