原文地址:http://www.yiichina.com/code/661
官网地址:http://www.xunsearch.com/
1、安装
wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 tar -jxvf xunsearch-full-latest.tar.bz2 cd xunsearch-full-latest ./setup.sh
2、composer下载php-sdk
composer require --prefer-dist hightman/xunsearch
3、创建配置文件(http://www.xunsearch.com/tools/iniconfig辅助工具)
切换到hightman/xunsearch/app下创建配置文件 vim ***.ini
4、构建索引
切换到hightman/xunsearch目录util/Indexer.php --rebuild --source=mysql://user:pass@127.0.0.1/db --sql="select * from db" --project=配置文件名
5、用法以yii2距离,在main.php文件中添加
'xunsearch' => [ 'class' => 'hightman\xunsearch\Connection', // 此行必须 // 'iniDirectory' => '@app/config', // 搜索 ini 文件目录,默认:@vendor/hightman/xunsearch/app // 'charset' => 'utf-8', // 指定项目使用的默认编码,默认即时 utf-8,可不指定 ],
控制器中
public function actionIndex(){ $db = Yii::$app->xunsearch->getDatabase('duanzi'); // $db = Yii::$app->xunsearch('duanzi'); $xs = $db->xs; $search = $db->getSearch(); $index = $db->getIndex(); $key = Yii::$app->request->get('key'); // $results = $search->search($key); $pages = new Pagination(['totalCount'=>$search->count($key)]); $results = $search->setQuery($key)->setLimit($pages->limit,$pages->offset)->search(); return $this->render('index',['results'=>$results,'pages'=>$pages]); }