xunsearch收索封装类调用

来源:互联网 发布:网络说唱歌曲大全 编辑:程序博客网 时间:2024/05/19 18:17

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();      }  }?>
原创粉丝点击