/**
* s-phinx 搜索
* @param $currentPage 页码
* @param $pagesize 个数
* @param string $keyword 查询词
* @param string $topicArr 话题
* @param string $type addtime 按时间排序 heat按热度排序
* @param string $asc asc 正序 desc倒序
* @return array
*/
public function sphList($currentPage,$pagesize ,$keyword='',$topicArr='',$type='addtime',$asc='desc',$startTime,$endTime){
Vendor('SphinxClient');
$cl = new SphinxClient();
$cl->SetServer (C('SPHINX_IP'), C('SPHINX_PORT'));//配置写到config文件中
$cl->SetConnectTimeout (1);
$cl->SetArrayResult (true);
$cl->SetMatchMode ( SPH_MATCH_EXTENDED2 );
$cl->SetFilter ( 'status', array(1), false );
if(!empty($topicArr))
{
if(!is_array($topicArr)){$topicArr=array($topicArr);}
$cl->SetFilter ( 'topic', $topicArr, false );
}
$asc=$asc=='desc'?$asc:'asc';
$cl->SetSortMode(SPH_SORT_EXTENDED,$type.' '.$asc);
$start = ($currentPage - 1) * $pagesize;
$cl->setLimits($start, $pagesize, 1000);
if(!(empty($startTime)||empty($endTime))){
$cl->SetFilterRange('addtime',$startTime,$endTime);
}
$keyword = urldecode($keyword);
$res = $cl->Query ($keyword, "jm_pick");//
$err = $cl->GetLastError();
//查询错误
if (!empty($err)){
return array('ids'=>array(),'err'=>$err,'count'=>0);
}else{
$formatResult=$this->sphinx_format_result($res);
return $formatResult;
}
}
s-phinx 搜索
最新推荐文章于 2023-12-13 01:00:00 发布