xunsearch收索封装类调用

xunsearch封装一个类

<?php
 /**
 * XSSearch XSSearch类处理xunsearch搜索
 * @project 搜索项目
 * @query 收索关键字
 * @pagesize  搜索每页显示条数
 * @num 热门搜索条数
 * @author zhoubin
 * @link http://www.mining120.com/
 * @author 周斌 <1196684330@qq.com>
 * @version 1.0.0
 */

  class XSSearch{     
      private $project;
      private $pagesize;
      public  $search;
      //构造函数
      public function __construct($project,$pagesize){
        //引入XS类   
        define('XUNSEARCH_PATH','/usr/local/xunsearch/');
        require XUNSEARCH_PATH."sdk/php/lib/XS.php";   
        //赋值属性
        $this->project=$project;
        $this->pagesize=$pagesize;          
        echo $pagesize.$project;  
        die();      
        try{                
            //新建XS类     
            $xs = new XS($project);      
            //建立search对象
            $this->search=$xs->search;
            //设置字符集编码
            $this->search->setCharset('UTF-8');
        }catch(XSException $e){  
            echo $e;  
        }    

      }

      //查询数据并以数组方式显示并带高亮显示
      public function search($query,$page,$pagesize){       
         $offset = ($page-1)*$pagesize;
         $this->search->setFuzzy()->setQuery($query);
         $docs = $this->search->setLimit($offset,$pagesize)->search();
         //循环$docs获取的数据
         $tags=array();
         foreach ($docs as $doc)
           {
                $tags[]['title'] = $this->search->highlight($doc->title); // 高亮处理 title 字段
                $tags[]['introduce']= $this->search->highlight($doc->introduce); // 高亮处理 introduce 字段
                //$tags[]['edittime']=$doc->edittime;
                $tags[]['num'] =$doc->rank();                          
           }
           return $tags;
      }

      //查询热门搜索
      public function hot(){          
        return $this->search->getHotQuery(); 
      }

      //查询相关收索
      public function related($query){
        return $this->search->getRelatedQuery($query, 10);  
      }

      //查询搜索总数
      public function sum(){
          return $this->search->dbTotal; 
      }

      //查询最近搜索总数
      public function lastsum(){
         return $this->search->lastCount; 
      }

      //查询$sql收索总数
      public function qureysum($query){
         return $this->search->setQuery($query)->count();
      }
  }

?>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值