实践中 XunSearch(讯搜)的使用教程步骤

XunSearch(讯搜)的使用教程步骤

一、安装编译工具 yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel 

二、进入欲安装文件夹 例如:cd /usr/loacl/

  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

     

    第一次安装的话,过程可能会稍显漫长,请不必着急,您大可泡杯茶一边喝一边等待即可。

  3. 如果您的 SDK 调用和 xunsearch 服务端不在同一服务器,请使用 -b inet 方式启动脚本, 并注意借助类似 iptables 的防火墙来控制 xunsearch 的 8383/8384 两个端口的访问权限。启动脚本用法举例如下,以下均为合法使用方式:
  4. 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
    启动
    启动/重新启动 xunsearch 的后台服务$prefix 替换为你的xunsearch安装目录
     
           
    cd $prefix; 
    bin/xs-ctl.sh restart
    添加到开机启动脚本,在 Linux 系统中将脚本指令$prefix/bin/xs-ctl.sh restart写进 /etc/rc.local 即可
    配置防火墙,开启8383端口、8384端口
  5. vi /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 8484 -j ACCEPT #允许8384端口通过防火墙

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

  6. 使用 netstat -anlpt 查看端口  (杀掉占用端口的进程 kill -9 进程id)
  7. 检测 PHP-SDK 的运行条件 
    $prefix/sdk/php/util/RequiredCheck.php $prefix #替换成你的安装目录
  8. 至此,安装和准备工作已经完成了,您可以开始使用 Xunsearch PHP-SDK 开发自己的搜索应用了。
  9. 建立索引  先创建要索引的数据库表
    复制代码
    创建库:CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    创建表:……
    先在/usr/local/xunsearch/sdk/php/app配置ini文件:

    project.name = source

    project.default_charset = utf-8

    server.index = 23.27.127.32:8383
    server.search = 23.27.127.32:8384

    [id]
    type = id

    [product_name]
    type = title

    [product_model]
    index = self

    导入mysql数据到xunsearch里面:/usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://yourdbuser:yourdbpass@localhost/yourdbname --sql="select id,product_name,product_model from products" --project=source
    复制代码

     以上为服务器部分 以下为php调用部分

  10. 复制代码
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html;charset=gbk" />
    <title>coreseek中文全文搜索在php程序中的应用</title>
    </head>
    <body>
    <h3><font color="blue">coreseek全文搜索在php程序中应用</font></h3>
    <form action="test2.php" method="post">
    输入搜索的关键词:<input type="text" name="keyword" size="30" <?php echo $_POST['keyword'];?> />
    <input type="submit" name="sub" value="搜索" />
    </form>
    <hr />
    <?php
    echo "<pre />";
    #引入接口文件,其实你懂的,就是一个类
    require './lib/XS.php';   //  引入 xunsearch sdk
    if(isset($_POST['sub']) && $_POST['keyword'] != ''){
        $keyword = trim($_POST['keyword']);    //接收关键词
        $xs = new XS('source');    // demo  为项目名称,配置文件是:$sdk/app/demo.in i
          //$index = $xs->index;   //  获取索引对象
          $search = $xs->search;   //  获取搜索对象
           $search->setLimit(20); 
        $docs = $search->setQuery( $keyword)->search();  //  搜索 ‘ 测试’
        
         echo "<table border='1' bordercolor='green' cellspacing='0'><tr><th>标题</th></tr>";
                foreach ($docs as $doc) {
               $subject = $search->highlight($doc->product_name); //  高亮处理标题
                echo "<tr><td>".$subject."</td></tr>";
           }
        echo "</table>";  
    
    // $search->setQuery($keyword);
    // // 获取前 6 个和默认搜索语句 "西湖" 相关搜索词
    // $words = $search->getRelatedQuery();
           // print_r($words);    
    }
    ?>
    复制代码

     

 
 
分类: Xunsearch
 
1
0
 
 
 
« 上一篇: xunsearch增量索引改进版
» 下一篇: phpstorm编辑器智能提示框架代码

posted on 2016-04-06 12:14 长不大的菜鸟 阅读(1865) 评论(1) 编辑 收藏

转载于:https://www.cnblogs.com/yifenghong/p/6371185.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值