php全文搜索引擎xunsearch的搭建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php全文搜索引擎xunsearch的搭建相关的知识,希望对你有一定的参考价值。
1.运行下面指令下载、解压安装包
wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 tar -xjf xunsearch-full-latest.tar.bz2
2.执行安装脚本,根据提示进行操作,主要是输入 xunsearch
软件包的安装目录,强烈建议单独 规划一个目录,而不是混到别的软件目录中。
cd xunsearch-full-1.3.0/ sh setup.sh
第一次安装的话,过程可能会稍显漫长,请不必着急,您大可泡杯茶一边喝一边等待即可。
执行该步骤时,有可能会出现如下两种错误信息:
ERROR: failed to configure xapian-core-scws, see ‘setup.log‘ for more detail
ERROR: failed to configure scws, see ‘setup.log‘ for more detail
解决办法:1.安装g++:yum install gcc-c++
2.安装zlib模块:yum install zlib-devel
3.待命令运行结束后,如果没有出错中断,则表示顺利安装完成,然后就可以启动/重新启动 xunsearch
的后台服务,下面命令中的 $prefix
请务必替换为您的安装目录,而不是照抄。
cd $prefix ; bin/xs-ctl.sh restart
强烈建议您将此命令添加到开机启动脚本中,以便每次服务器重启后能自动启动搜索服务程序, 在 Linux
系统中您可以将脚本指令写进 /etc/rc.local
即可。
执行该步骤时,在第一次执行restart时会执行不成功,那么请用相同的命令重试一下
4.此时的xunsearch服务已经安装并启动完成了,接下来是数据的导入
4.1首先编辑sdk中app/demo.ini文件的配置,参考官网手册:http://www.xunsearch.com/doc/php/guide/ini.first
[id] type=id [name] type=title [name] type=body (括号内的key为数据库中或csv数据中的key值)
4.2将数据导入。导入数据有多种方式,一个是通过mysql连接导入数据(util目录在sdk里面):util/Indexer.php --source=mysql://root:密码(没有则为空)@127.0.0.1/blog/blog --clean demo 另一种方式是通过csv导入数据:util/Indexer.php --source=csv --file=./tages.csv --clean demo
5.命令行中体验效果:util/Quest.php demo "成龙"
6.php代码实现全文搜索:
<?php class Aj_Mblog_SearchController extends AbstractController { public function indexAction(){ require ‘/usr/local/xunsearch/sdk/php/lib/XS.php‘; $xs = new XS(‘demo‘); $search = $xs->search; // 搜索对象来自 XS 的属性 $query = ‘测试‘; // 这里的搜索语句很简单,就一个短语 $search->setQuery($query); // 设置搜索语句 $docs = $search->search(); // 执行搜索,将搜索结果文档保存在 $docs 数组中 $count = $search->count(); // 获取搜索结果的匹配总数估算值 $res = $docs[0]; echo $res->id;die; var_dump($docs[0]);die; print_r($docs); echo $count; } } ?>
更过xunsearch教程见:http://www.xunsearch.com/
本文出自 “PHP程序猿” 博客,转载请与作者联系!
以上是关于php全文搜索引擎xunsearch的搭建的主要内容,如果未能解决你的问题,请参考以下文章
全文检索:sphinx elasticsearch xunsearch 比较