案例要求,效果图
首先,你需要安装spinx,具体安装可以百度一份如何安装,网上有很多,就不说了,
那么,安装完成后,打开sphinx(即你所建的sphinx安装目录),
找到这个文件,sphinx/etc/csft_mysql.conf文件,
在编译器中,打开这个文件,修改sphinx的源文件,配置
改完配置后,停止sphinx服务,打开cmd,进入到你安装的sphinx安装目录中
建立索引,
索引建立成功,开启sphinx服务
在使用sphinx之前,你需要把sphinx/api/sphinxapi.php文件,复制一份,放到yii2的web中,
与你的入口文件保持同级,方便调用
创建控制器,
- <?php
- namespace frontend\controllers;
- use Yii;
- use app\models\Position;
- //use yii\data\Pagination;//分页类
- use yii\db\Query;//搜索类
- class IndexController extends \yii\web\Controller
- {
- //下拉选项字段 搜索值
- public function actionSearch_val()
- {
- $set = Yii::$app->request->get('set','');//接收搜索类型
- $key = Yii::$app->request->get('key','');//接收值
- require ( "sphinxapi.php" );//引入类
- if(yii::$app->request->isAjax){
- //echo $key.$set;die;
- $cl = new SphinxClient ();
- $cl->SetServer ( '127.0.0.1', 9312);
- $cl->SetConnectTimeout ( 3 );
- $cl->SetArrayResult ( true );
- if(empty($key)){
- $cl->SetMatchMode ( SPH_MATCH_FULLSCAN );
- }else{
- $cl->SetMatchMode ( SPH_MATCH_