快生活 - 生活常识大全

使用插件站内搜索


  安装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
网站目录投稿:翠安