溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在php中利用scws對mysql進行全文搜索

發(fā)布時間:2020-12-19 16:05:28 來源:億速云 閱讀:131 作者:Leah 欄目:開發(fā)技術(shù)

如何在php中利用scws對mysql進行全文搜索?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

scws這樣的中文分詞插件比較不錯,簡單的學習了一下,它包涵一些專有名稱、人名、地名、數(shù)字年代等規(guī)則集合,可以直接將語句按這些規(guī)則分開成一個一個關(guān)鍵詞,準確率在90%-95%之間,按照安裝說明把scws的擴展放入php的擴展目錄里,下載規(guī)則文件和詞典文件,并在php配置文件中引用它們,就可以用scws進行分詞了.

1) 修改 php 擴展代碼以兼容支持 php 5.4.x

2) 修正 php 擴展中 scws_get_tops 的 limit 參數(shù)不允許少于 10 的問題

3) libscws 增加 scws_fork() 從既有的 scws 實例產(chǎn)生分支并共享詞典/規(guī)則集,主要用于多線程開發(fā).

4) 新增部分版本的 win32 的 dll 擴展

PHP實例代碼如下:

復(fù)制代碼 代碼如下:

<?php
//實例化分詞插件核心類
$so = scws_new();
//設(shè)置分詞時所用編碼
$so->set_charset('utf-8');
//設(shè)置分詞所用詞典(此處使用utf8的詞典)
$so->set_dict('/path/dict.utf8.xdb');
//設(shè)置分詞所用規(guī)則
$so->set_rule('/path/rules.utf8.ini ');
//分詞前去掉標點符號
$so->set_ignore(true);
//是否復(fù)式分割,如“中國人”返回“中國+人+中國人”三個詞。
$so->set_multi(true);
//設(shè)定將文字自動以二字分詞法聚合
$so->set_duality(true);
//要進行分詞的語句
$so->send_text(“歡迎來到火星時代IT開發(fā)”);
//獲取分詞結(jié)果,如果提取高頻詞用get_tops方法
while ($tmp = $so->get_result())
{
  print_r($tmp);
}
$so->close();
?>


注:如以上例子,輸入的文字,詞典,規(guī)則文件這三者的字符集必須統(tǒng)一,另外mysql 4.XX有的是不支持中文全文搜索的,可以存入關(guān)鍵字對應(yīng)的區(qū)位碼以方便全文搜索.

版本列表

版本 類型 平臺 性能 其它

SCWS-1.1.x C 代碼 *Unix*/*PHP* 準確: 95%, 召回: 91%, 速度: 1.2MB/sec

PHP擴展分詞速度: 250KB/sec [下載] [文檔] [安裝說明]

php_scws.dll(1) PHP擴展庫 Windows/PHP 4.4.x 準確: 95%, 召回: 91%,

php_scws.dll(2) PHP擴展庫 Windows/PHP 5.2.x 準確: 95%, 召回: 91%,

php_scws.dll(3) PHP擴展庫 Windows/PHP 5.3.x 準確: 95%, 召回: 91%, 

php_scws.dll(4) PHP擴展庫 Windows/PHP 5.4.x 準確: 95%, 召回: 91%,

PSCWS23 PHP源代碼 不限 (不支持UTF-8) 準確: 93%, 召回: 89%,

PSCWS4 PHP源代碼 不限 準確: 95%, 召回: 91%,

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI