tp5 整合 xunsearch 全文检索
应用场景: 大量数据的模糊搜索, 数据统计分析等场景, sunsearch 的索引中只添加 id 和搜索字段, 例如: id 和 content, 可以保证索引的简单性和匹配的效率, 同时可以根据 id 字段配合 mysql 精确查找数据, 保守测试性能是 mysql 的 10 倍以上
运行环境: centos7
首先安装依赖, 烦, 好像还需要 zlib, 就直接 yum install zlib*
yum install gcc-c++
然后下载 xunsearch 源码包cd/usr/local/src
wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar-zxjf xunsearch-full-latest.tar.bz2
cd xunsearch-full-1.3.0/
sh setup.sh 这一步是执行安装, 没特殊要求按提示走可以了
然后启动
/usr/local/xunsearch/bin/xs-ctl.sh start/stop/restart
然后对接到自己的项目里面, 由于 composer 包没拉下来, 所以只能硬来了
cp -r /usr/local/xunsearch/sdk/php/ /var/www/think/extend
控制器测试代码publicfunctionindex()
{
try{
include'/var/www/think/extend/Xunsearch/lib/Xunsearch.php';
$xs=new\XS('demo');// 创建 XS 对象, 项目名称为: demo
$index=$xs->index;
$doc=new\XSDocument(array(// 创建 XSDocument
'pid'=>123,// 主键字段, 必须指定
'subject'=>'测试文档标题',
'message'=>'测试文档内容',
'chrono'=>time()
));
$index->add($doc);// 添加文档, 不检测便索引库内是否已有同一主键数据
$index->flushIndex();
// ... 在此编写过搜索处理代码 ...
}catch(XSException$e){
echo $e->getMessage();
}
}
publicfunctionsearch(){
include'/var/www/think/extend/Xunsearch/lib/Xunsearch.php';
$xs=new\XS('demo');// 创建 XS 对象, 项目名称为: demo
$search=$xs->search;
$info=$search->search('测试');
print_r($info);
}
来源: http://www.jianshu.com/p/99fde6967891