日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php拉查询封装,php实现搜索类封装示例

發布時間:2025/7/14 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php拉查询封装,php实现搜索类封装示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/**

* SoClass.php

* 索引與搜索類 */

class SoClass {

private $_xindex;

private $_xsearch;

private $_project;

public function __construct($project){

//載入引導文件

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); //支持同義詞搜索,默認打開

$xs->search->setLimit($row, $jnum); //設置返回結果最多為 5 條,并跳過前 10 條

$docs = $xs->search->search(); //執行搜索,將搜索結果文檔保存在 $docs 數組中

$count = $xs->search->count(); //獲取搜索結果的匹配總數估算值

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){

// 創建文檔對象

$doc = new XSDocument;

$doc->setFields($data);

// 添加或更新到索引數據庫中

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();

}

}

?>

總結

以上是生活随笔為你收集整理的php拉查询封装,php实现搜索类封装示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。