安装xunsearch 下载 wget /download/xunsearch-full-latest.tar.bz2 解压 tar -xjf xunsearch-full-latest.tar.bz2 安装 cd xunsearch-full-1.4.11/ ./setup.sh 第一次安装的话,过程可能会稍显漫长,请不必着急,您大可泡杯茶一边喝一边等待即可。 如果您的 SDK 调用和 xunsearch 服务端不在同一服务器,请使用 -b inet 方式启动脚本, 并注意借助类似 iptables或firewall-cmd 的防火墙来控制 xunsearch 的 8383/8384 两个端口的访问权限。 启动脚本用法举例如下,以下均为合法使用方式: bin/xs-ctl.sh -b local start // 监听在本地回环地址 127.0.0.1 上 bin/xs-ctl.sh -b inet start // 监听在所有本地 IP 地址上 bin/xs-ctl.sh -b a.b.c.d start // 监听在指定 IP 上 我是不在同一服务器上,因此我选择这一种(bin/xs-ctl.sh -b 192.168.30.1 start) bin/xs-ctl.sh -b unix start // 分别监听在 tmp/indexd.sock 和 tmp/searchd.sock 配置防火墙,开启8383端口、8384端口 firewall-cmd : firewall-cmd --zone-public --add-port = 8384/tcp --permanent firewall-cmd --zone-public --add-port = 8383/tcp --permanent firewall-cmd --reload ##重新加载配置生效 iptables: -A INPUT -m state --state NEW -m tcp -p tcp --dport 8383 -j ACCEPT #允许8383端口通过防火墙 -A INPUT -m state --state NEW -m tcp -p tcp --dport 8484 -j ACCEPT #允许8384端口通过防火墙 /etc/init.d/iptables restart #重启防火墙使配置生效 使用 netstat -anlpt 查看端口 检测 PHP-SDK 的运行条件 /usr/local/xunsearch/sdk/php/util/RequiredCheck.php #替换成你的安装目录 至此,安装和准备工作已经完成了,您可以开始使用 Xunsearch PHP-SDK 开发自己的搜索应用了。 建立索引 先创建要索引的数据库表 先在/usr/local/xunsearch/sdk/php/app配置ini文件: project.name = article project.default_charset = utf-8 server.index =192.168.30.1:8383 server.search = 192.168.30.1:8384 [id] type = id [title] type = title [content] index = self 导入mysql数据到xunsearch里面:/usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://yourdbuser:yourdbpass@localhost/yourdbname --sql="select id,title,content from article" --project=article 下面用php搜索,示例代码 $keyword = "php"; $xs = new XS("article"); $search = $xs->search; $query = $keyword; // 这里的搜索语句很简单,就一个短语 $search->setQuery($query); // 设置搜索语句 $search->addWeight("title", $keyword); // 增加附加条件:提升标题中包含 "xunsearch" 的记录的权重 $search->setLimit(5, 0); // 设置返回结果最多为 5 条,并跳过前 0 条 $docs = $search->search(); // 执行搜索,将搜索结果文档保存在 $docs 数组中 $count = $search->count(); // 获取搜索结果的匹配总数估算值 var_dump($docs); OK!打工告成! php-nsearch