thinkphp3 2搭配scws做中文分詞案例

2021-08-21 06:28:11 字數 1291 閱讀 9760

之前專案裡簡單的搜尋一般都是使用搜尋詞直接like查詢,今天客戶反饋搜尋結果有點不理想,就是有兩篇文章的標題分別是廣東省領軍人物balabala、東莞市領軍人物balabala,使用者搜尋省領軍的時候由於使用的是like去匹配,所以是搜尋不出來這兩篇文章的,而客戶想要的是這兩篇文章都要搜出來,前幾天還跟同學討論分詞的我靈光一閃就想要不用下分詞吧。。於是就開始度娘了。。。。然後就搜尋到了scws,好了,廢話不多說,開始上乾貨!!

先上效果圖

將pscws.class.php與xdb_r.class.php放到thinkphp\library\org\util下

然後在與thinkphp同目錄下的public(自己放到喜歡的地方也行)下新建乙個dist資料夾,將dict.utf8.xdb詞典檔案放到裡面,pscws4下面etc資料夾裡的rules.utf8.ini也放到這裡,然後去入口檔案裡配置一下路徑

define

('lin_conf_path'

,dirname

(__file__

) .

'/../public/dict/');

然後就開始愉快的寫demo測試吧~~~

public function 

test()

private function

get_tags($title

,$num

=null)

return

$tags

;}

要記得設定,不然出來的結果會亂碼

$pscws

->

set_charset('utf-8');

好了到這裡就結束啦~~~~~~~

參考文章

ThinkPHP3 2 驗證隨記

自動完成 靜態方式 在模型類裡面通過 auto屬性定義處理規則。動態方式 使用模型類的auto方法動態建立自動處理規則。自動驗證 靜態方式 在模型類裡面通過 validate屬性定義驗證規則。動態方式 使用模型類的validate方法動態建立自動驗證規則。定義格式為 array array 驗證欄位...

THINKPHP3 2命名空間

thinkphp3.2命名空間 3.2版本全面採用命名空間方式定義和載入類庫檔案,有效的解決多個模組之間的衝突問題,並且實現了更加高效的類庫自動載入機制。由於新版完全採用了命名空間的特性,因此只需要給類庫正確定義所在的命名空間,而命名空間的路徑與類庫檔案的目錄一致,那麼就可以實現類的自動載入。例如,...

ThinkPHP3 2 搭載環境

thinkphp是乙個快速 簡單的基於mvc和物件導向的輕量級php開發框架 預設情況下當你執行index.php時只有home模組,如果你需要建立其他模組時需要在入口檔案 index.php 中定義 define bind module admin 繫結入口到admin模組訪問 bind modu...