sphinx配置咨询 [ 2.0 版本 ]
配置如下,URL链接也是正确的 如:r=search/index&keyword=网站建设&page=4
但是结果始终之在第一页:
请问是哪里错了。
`public function actionIndex(){
$sphinx = new SphinxClient();
$sphinx->setMatchMode(SPH_MATCH_ANY);
$sphinx->SetServer ( 'localhost', 9312 );//coreseek的主机名和端口
$sphinx->SetArrayResult ( true );//设置返回结果集为php数组格式
$key=Yii::$app->request->post('keyword','网站建设');
if(!$key){
$key=Yii::$app->request->get('keyword');
}
$result = $sphinx->query ($key, "mysql");//xxxx是查询的内容,mysql是测试的配置文件中系统默认的类名
$total=$result['total'];
$config = ['params' => ['keyword' => $key],'totalCount'=>$total,'defaultPageSize'=>10];
$pagination = new Pagination($config);
$sphinx->SetLimits($pagination->offset,$pagination->limit,1000);
$sphinx->SetMaxQueryTime(10);//最大搜索时间
$result = $sphinx->query ($key, "mysql");
if($result['total']){
$ids = ArrayHelper::getColumn($result['matches'], 'id');
}else{
$ids =[];
}
$rows=Company::find()->where(['in','id',$ids])->asArray()->all();
return $this->render('index',[
'rows'=>$rows,
'pagination'=>$pagination,
'total'=>$total,
'keyword'=>$key,
]);
}
`
okokad 补充于 2017-04-11 13:32
`
<div class="row search-total">为您找到超过<?=Html::encode($total)?>条结果</div>
<div class="row left-content">
<div class="col-xs-8 padding0">
<?php
foreach ($rows as $value) {
$value['url']=str_replace(' ', '', $value['url']);
echo "<ul class='list-unstyled '>";
echo "<li class='search-title'><a target='_blank' href='http://".$value['url']."'>".$value['name']."</a></li>";
echo "<li class='search-desc'>".$value['content']."</li>";
echo "<li class='search-url'><a target='_blank' href='http://".$value['url']."'>".$value['url']."</a></li>";
echo "</ul>";
}
?>
</div>
<div class="col-xs-4"></div>
</div>
<div class="row">
<?php
echo LinkPager::widget([
'pagination' => $pagination,
]);
?>
</div>
</div>`
最佳答案
其他 2 个回答
okokad
注册时间:2016-02-29
最后登录:2017-07-01
在线时长:49小时26分
最后登录:2017-07-01
在线时长:49小时26分
- 粉丝12
- 金钱25
- 威望80
- 积分1315