您现在的位置是:首页 > 技术杂谈 > Thinkphp > php > sphinx sphinx
1、安装部署sphinx3.1.1,之前文章介绍过
2、复制sphinx/api目录下的sphinxapi.php文件到Thinkphp项目的下,在extend目录下新增Sphinx目录,将sphinxapi.php拷贝到该目录下,
重命名未SphinxClient.php。
3、修改SphinxClient.php,在头部添加命名空间:namespace Sphinx;
4、新增方法调用:
/**
* @param $index 索引名称
* @param $str 检索内容
* @param $page 分页页码
* @param $page_size 分页大小
*/
function sphinxSearch($index,$str,$page,$perpage){
$sphinx = new SphinxClient();
$sphinx->SetServer('127.0.0.1', 9312);
$sphinx->SetConnectTimeout(3);
$sphinx->_limit = 10000;
$sphinx->SetGroupBy('create_time', SPH_GROUPBY_ATTR, 'create_time desc');
$res = $sphinx->Query($str,$index);
$sphinx->Close();
if(isset($res['matches'])&&!empty($res['matches'])){
$ids = array_keys($res['matches']);
$ids = array_slice($ids,($page-1)*$perpage,$perpage);
$ids = implode(',', $ids);
return array('ids'=>$ids,'count'=>$res['total_found']);
}else{
return false;
}
}
5、调用方法
sphinxSearch('blog','观海听潮',1,15);//blog是索引名称
sphinxSearch('blog;blog_incre','观海听潮',1,15);多个索引调用
下一篇:公众号基本配置
文章评论

评论列表