最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php實(shí)現(xiàn)搜索類封裝示例

 更新時(shí)間:2016年03月31日 11:45:56   作者:mickelfeng  
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)搜索類封裝示例,感興趣的小伙伴們可以參考一下

本文為大家分享了php實(shí)現(xiàn)搜索類封裝示例,供大家參考,具體內(nèi)容如下

<?php
/**
 * SoClass.php
 * 索引與搜索類 */
 
class SoClass {
 
  private $_xindex;
 
  private $_xsearch;
 
  private $_project;
 
  public function __construct($project){
 
    //載入引導(dǎo)文件
    require_once 'lib/XS.php';
    //初始化
    $xs = new XS($project); 
    $this->_project = $project;
    $this->_xindex = $xs->index; 
    $this->_xsearch = $xs->search;
    $this->_xsearch->setCharset('UTF-8');
  }
 
  public function query($keyWord,$row=20,$jnum=0){
 
    $xs = new XS($this->_project);
    $xs->search->setFuzzy();
    $xs->search->setAutoSynonyms();
    $xs->search->setQuery($keyWord); //支持同義詞搜索,默認(rèn)打開
    $xs->search->setLimit($row, $jnum); //設(shè)置返回結(jié)果最多為 5 條,并跳過前 10 條
    $docs = $xs->search->search(); //執(zhí)行搜索,將搜索結(jié)果文檔保存在 $docs 數(shù)組中    
    $count = $xs->search->count(); //獲取搜索結(jié)果的匹配總數(shù)估算值
    if($count){
      $data = array();
      foreach ($docs as $key=>$doc){
        $data[$key]['pid'] = $doc->pid;
        $data[$key]['nid'] = $doc->nid;
        $data[$key]['category'] = $doc->category;
        $data[$key]['url'] = $doc->url;
        $data[$key]['name'] = $xs->search->highlight(htmlspecialchars($doc->name));
        $data[$key]['message'] = $xs->search->highlight(htmlspecialchars($doc->message));
      }
 
      return array('data'=>$data,'count'=>$count);
    }
    return array();
  }
 
  public function hotWord($num,$type='lastnum'){
 
    return $this->_xsearch->getHotQuery($num,$type);
  }
 
  public function expanded($keyWord){
 
    return $this->_xsearch->getExpandedQuery($keyWord);
  }
 
  public function lastCount(){
 
    return $this->_xsearch->getLastCount();
  }
 
  public function index($data,$update=0){
 
    // 創(chuàng)建文檔對象
    $doc = new XSDocument;
    $doc->setFields($data);
 
    // 添加或更新到索引數(shù)據(jù)庫中
    if(!$update){
      $this->_xindex->add($doc);
    }else{
      $this->_xindex->update($doc);
    }
  }
 
  public function delete($idArray){
 
    //刪除索引(主鍵刪除array('1','2','3'))
    $this->_xindex->del($idArray); 
  }
 
  public function addSynonym($word1,$word2){
 
    $this->_xindex->addSynonym($word1,$word2);
  }
 
  public function clearIndex(){
 
    $this->_xindex->clean();
  }
 
}
 
?>

以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • ThinkPHP部署Workerman的成功使用示例

    ThinkPHP部署Workerman的成功使用示例

    本文介紹thinkphp中關(guān)于composer集成workerman的方法,并解決了安裝過程 中遇到的錯(cuò)誤,實(shí)現(xiàn)了和woerkman進(jìn)行握手和通信的demo。用戶可以在此基礎(chǔ)上按自己的邏輯實(shí)現(xiàn)一個(gè)聊天系統(tǒng)或者客服系統(tǒng)。
    2023-06-06
  • PHP+Mysql+jQuery中國地圖區(qū)域數(shù)據(jù)統(tǒng)計(jì)實(shí)例講解

    PHP+Mysql+jQuery中國地圖區(qū)域數(shù)據(jù)統(tǒng)計(jì)實(shí)例講解

    使用過百度統(tǒng)計(jì)或者cnzz統(tǒng)計(jì)的童鞋應(yīng)該知道,后臺有一個(gè)地圖統(tǒng)計(jì),不同訪問量的省份顯示的顏色也不一樣,今天我將帶領(lǐng)大家開發(fā)一個(gè)這樣的案例。
    2015-10-10
  • thinkphp的dump函數(shù)無輸出實(shí)例代碼

    thinkphp的dump函數(shù)無輸出實(shí)例代碼

    下面小編就為大家?guī)硪黄猼hinkphp的dump函數(shù)無輸出實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • Smarty模板變量與調(diào)節(jié)器實(shí)例詳解

    Smarty模板變量與調(diào)節(jié)器實(shí)例詳解

    這篇文章主要介紹了Smarty模板變量與調(diào)節(jié)器,結(jié)合實(shí)例形式詳細(xì)分析了Smarty模板變量與調(diào)節(jié)器基本概念、分類、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • Thinkphp搭建包括JS多語言的多語言項(xiàng)目實(shí)現(xiàn)方法

    Thinkphp搭建包括JS多語言的多語言項(xiàng)目實(shí)現(xiàn)方法

    這篇文章主要介紹了Thinkphp搭建包括JS多語言的多語言項(xiàng)目實(shí)現(xiàn)方法,可實(shí)現(xiàn)通過針對js語言包的調(diào)用達(dá)到構(gòu)建多語言站點(diǎn)的效果,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • PHP數(shù)組和explode函數(shù)示例總結(jié)

    PHP數(shù)組和explode函數(shù)示例總結(jié)

    有關(guān)php分割字符串explode函數(shù)的用法,使用explode函數(shù)將字符串分割到數(shù)組,這里給大家總結(jié)了幾個(gè)示例,需要的朋友參考下。
    2015-05-05
  • PHP常用文件操作函數(shù)和簡單實(shí)例分析

    PHP常用文件操作函數(shù)和簡單實(shí)例分析

    下面小編就為大家?guī)硪黄狿HP常用文件操作函數(shù)和簡單實(shí)例分析。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • php簡單中獎算法(實(shí)例)

    php簡單中獎算法(實(shí)例)

    下面小編就為大家?guī)硪黄猵hp簡單中獎算法(實(shí)例)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • PHP防止刷新重復(fù)提交頁面的示例代碼

    PHP防止刷新重復(fù)提交頁面的示例代碼

    我們可以利用 PHP 的 Session 來避免這一點(diǎn),Session 保存在服務(wù)器端,在 PHP 過程中改變 Session 變量的值后,即保存在服務(wù)器端,下次訪問這個(gè)變量時(shí),得到是新賦的值,所以,可以用一個(gè) Session 變量記錄表單提交的次數(shù),大于1時(shí),就不再處理表單中的數(shù)據(jù)
    2015-11-11
  • laravel框架中表單請求類型和CSRF防護(hù)實(shí)例分析

    laravel框架中表單請求類型和CSRF防護(hù)實(shí)例分析

    這篇文章主要介紹了laravel框架中表單請求類型和CSRF防護(hù),結(jié)合實(shí)例形式分析了laravel框架常見請求方法、提交請求以及csrf令牌的驗(yàn)證相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11

最新評論

宜阳县| 永福县| 阳信县| 佛教| 静乐县| 垦利县| 从化市| 梁山县| 恩施市| 广丰县| 平度市| 长汀县| 平山县| 循化| 台中市| 龙川县| 南汇区| 杂多县| 楚雄市| 岱山县| 正宁县| 桂林市| 安新县| 南漳县| 财经| 揭阳市| 平山县| 洪江市| 青铜峡市| 大埔县| 舟曲县| 扎兰屯市| 淅川县| 德江县| 唐山市| 余江县| 柳江县| 榆中县| 玉田县| 夏津县| 宣威市|