linux使用xunsearch插件站内搜索

安装xunsearch

下载 wget http://www.xunsearch.com/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

文章标签:

相关阅读

优惠券资讯优惠券常识