Xunsearch迅搜项目实战经验

在这里我们使用的是SDK以及一台xunsearch服务器,意思是不在同一服务器上的。xunsearch服务器和sdk服务器。

1.部署xunsearch服务器,网上还是有文档的

       第一步  下载解压

wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar -xjf xunsearch-full-latest.tar.bz2

        第二步 执行安装脚本,根据提示进行操作,主要是输入 xunsearch 软件包的安装目录,强烈建议单独 规划一个目录,而不是混到别的软件目录中。

cd xunsearch-full-1.3.0/
sh setup.sh

 

        第三部自行启动

如果您的 SDK 调用和 xunsearch 服务端不在同一服务器,请使用 -b inet 方式启动脚本, 并注意借助类似 iptables 的防火墙来控制 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 195.241.23.32 start)
bin/xs-ctl.sh -b unix start     // 分别监听在 tmp/indexd.sock 和 tmp/searchd.sock

        第四步配置防火墙,开启8383端口、8384端口

    

vim /etc/sysconfig/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 8384 -j ACCEPT #允许8384端口通过防火墙
-A INPUT -m state --state NEW -m tcp -p tcp --sport 8383 -j ACCEPT #允许8383端口通过防火墙
-A INPUT -m state --state NEW -m tcp -p tcp --sport 8384 -j ACCEPT #允许8384端口通过防火墙
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 8383 -j ACCEPT #允许8383端口通过防火墙 
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 8384 -j ACCEPT #允许8384端口通过防火墙
-A OUTPUT -m state --state NEW -m tcp -p tcp --sport 8383 -j ACCEPT #允许8383端口通过防火墙
-A OUTPUT -m state --state NEW -m tcp -p tcp --sport 8384 -j ACCEPT #允许8384端口通过防火墙

        /etc/init.d/iptables restart #重启防火墙使配置生效    

        第五步,在sdk服务器端也要开启这两个8384和8383端口。

   2.项目中容易出现的错误(稍后总结)

        a.有时候纠错功能,热搜功能的返回值为空情况

            RE: getHotQuery()getCorrectedQuery()getRelatedQuery()无结果是啥情况?

            [quote='hpxl' pid='247' dateline='1321860679']
                搜索日志已被缓存,如果要清空缓存可以执行,$xs->index->flushLogging();
            [/quote]


原文地址:https://www.cnblogs.com/hoewang/p/10257252.html