全文搜索迅搜在liunx 下的安装

一、安装
    #获取
    wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
    #解压
    tar -xjf xunsearch-full-latest.tar.bz2
    #安装
    cd xunsearch-full-1.4.9/
    sh setup.sh
    
    接下来提示确认安装目录,默认/usr/local/xunsearch,直接回车确认,y,一个泡面的时间安装完成。
  安装完成后,启动/重启xunsearch后台服务,并建议将下面命令添加到 /etc/rc.local 开机脚本中。
    /usr/local/xunsearch/bin/xs-ctl.sh start

二、检查环境
    #如果php没有配置到linux环境变量
    /path-to-php/bin/php /usr/local/xunsearch/sdk/php/util/RequiredCheck.php

三、配置建立索引
    cd /usr/local/xunsearch/sdk/php/app
    mkdir  goods.ini
    
    往goods.ini写入以下内容
    project.name = goods
    project.default_charset = utf-8
    server.index = 106.75.129.183:8383
    server.search = 106.75.129.183:8384
    #tokenizer = default
    
    [goods_id]
    type = id
    tokenizer = full
    
    [goods_name]
    type = title
    
    [description]
    type = body

    建立索引
    /usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://root:myroot123@127.0.0.1/wendao --sql="select goods_id,goods_name,description from ecm_goods" --project=goods
    
    测试搜索
    /usr/local/xunsearch/sdk/php/util/Quest.php wendao 服装

四、开发
    1,newsget.php 在浏览器上输入 XXX/newsget.php?key=关键字 搜索查看
    
    复制代码
     <?php
     /*
     newsget.php
     usage:newsget.php?key=keyword
     */
     
     $key=trim($_GET['key']);
     require 'php/lib/XS.php';
     try
     {
         $xs = new XS('news'); //实例化XS对象
         $search=$xs->search;  //获取XSSearch搜索对象,了解跟多,点此到官网查看
         $docs=$search->search($key); //通过XSsearch获取XSDocment文档对象
         foreach ($docs as $doc) //循环获取文档内容,获取更多XSDocument文档内容,点此到官网查看
         {
            echo '第'.$doc->rank().'条结果 , 匹配度[' . $doc->percent() . "%]\n<br/>";
            echo 'id:'.$doc->docid().',标题:'.$doc->title.', 搜索内容:'.$doc->content . "\n<br/>"; //使用类似php __get的方式获取文档的字段内容
            echo '<br/>';
        
     }
     catch (XSException $e)
     {
         echo $e;               // 直接输出异常描述
         if (defined('DEBUG'))  // 如果是 DEBUG 模式,则输出堆栈情况
             echo "\n" . $e->getTraceAsString() . "\n";
     }
    
    2,newsadd.php 在浏览器上输入XXX/newsadd.php?title=标题&&content=内容 添加内容到数据库和更新到索引中
    
    复制代码
    <?php
    /*
    newsadd.php
    usage:newsadd.php?title=title&&content=content
    */
    
    $title=trim($_GET['title']);
    $content=trim($_GET['content']);
    //pdo方式连接数据库,添加数据
    $mysql=new PDO("mysql:localhost;dbname=test_xs",'root','123');
    $mysql->query('set names utf8');
    $mysql->query('use test_xs');
    $addtime=time();
    $id=0;
    $sql="insert into news (title,content,addtime) values('$title','$content',$addtime)";
    if(!$mysql->query($sql))
    {
            die('mysql add err');
    }
    else
    {
            $id=$mysql->lastInsertId();
    }
    //添加数据到数据库后,导入新索引
    require 'php/lib/XS.php';
    try
    {
            $xs = new XS('news');
            $doc = new XSDocument; //关于XSDocument文档对象及操作方式,点此到官网查看
            $doc['id']=$id;  //数组方式赋值
            $doc->title=$title;//对象方式赋值
            $doc->setFields(array('content'=>$content,'addtime'=>$addtime));//数据方式批量赋值
           if($xs->index->add($doc))//将文档添加到索引中,这里的索引更新是异步的,因此不会立即生效,xunsearch搜索系统会在合适的时间内更新,关于index对象,点此到官网查看
           {
                   echo '添加成功';
           }
           else
           {
                   echo '数据添加成功但索引失败';
           }
   }
   catch (XSException $e)
   {
       echo $e;               // 直接输出异常描述
       if (defined('DEBUG'))  // 如果是 DEBUG 模式,则输出堆栈情况
           echo "\n" . $e->getTraceAsString() . "\n";
   }
    
参考网址:https://www.cnblogs.com/GaZeon/p/5410774.html
    
 






/usr/local/xunsearch/bin/xs-ctl.sh -s both restart
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值