php利用scws實(shí)現(xiàn)mysql全文搜索功能的方法
本文實(shí)例講述了php利用scws實(shí)現(xiàn)mysql全文搜索功能的方法。分享給大家供大家參考。具體方法如下:
scws這樣的中文分詞插件比較不錯(cuò),簡(jiǎn)單的學(xué)習(xí)了一下,它包涵一些專有名稱、人名、地名、數(shù)字年代等規(guī)則集合,可以直接將語(yǔ)句按這些規(guī)則分開成一個(gè)一個(gè)關(guān)鍵詞,準(zhǔn)確率在90%-95%之間,按照安裝說(shuō)明把scws的擴(kuò)展放入php的擴(kuò)展目錄里,下載規(guī)則文件和詞典文件,并在php配置文件中引用它們,就可以用scws進(jìn)行分詞了.
1) 修改 php 擴(kuò)展代碼以兼容支持 php 5.4.x
2) 修正 php 擴(kuò)展中 scws_get_tops 的 limit 參數(shù)不允許少于 10 的問題
3) libscws 增加 scws_fork() 從既有的 scws 實(shí)例產(chǎn)生分支并共享詞典/規(guī)則集,主要用于多線程開發(fā).
4) 新增部分版本的 win32 的 dll 擴(kuò)展
PHP實(shí)例代碼如下:
//實(shí)例化分詞插件核心類
$so = scws_new();
//設(shè)置分詞時(shí)所用編碼
$so->set_charset('utf-8');
//設(shè)置分詞所用詞典(此處使用utf8的詞典)
$so->set_dict('/path/dict.utf8.xdb');
//設(shè)置分詞所用規(guī)則
$so->set_rule('/path/rules.utf8.ini ');
//分詞前去掉標(biāo)點(diǎn)符號(hào)
$so->set_ignore(true);
//是否復(fù)式分割,如“中國(guó)人”返回“中國(guó)+人+中國(guó)人”三個(gè)詞。
$so->set_multi(true);
//設(shè)定將文字自動(dòng)以二字分詞法聚合
$so->set_duality(true);
//要進(jìn)行分詞的語(yǔ)句
$so->send_text(“歡迎來(lái)到火星時(shí)代IT開發(fā)”);
//獲取分詞結(jié)果,如果提取高頻詞用get_tops方法
while ($tmp = $so->get_result())
{
print_r($tmp);
}
$so->close();
?>
注:如以上例子,輸入的文字,詞典,規(guī)則文件這三者的字符集必須統(tǒng)一,另外mysql 4.XX有的是不支持中文全文搜索的,可以存入關(guān)鍵字對(duì)應(yīng)的區(qū)位碼以方便全文搜索.
版本列表
版本 類型 平臺(tái) 性能 其它
SCWS-1.1.x C 代碼 *Unix*/*PHP* 準(zhǔn)確: 95%, 召回: 91%, 速度: 1.2MB/sec
PHP擴(kuò)展分詞速度: 250KB/sec [下載] [文檔] [安裝說(shuō)明]
php_scws.dll(1) PHP擴(kuò)展庫(kù) Windows/PHP 4.4.x 準(zhǔn)確: 95%, 召回: 91%,
php_scws.dll(2) PHP擴(kuò)展庫(kù) Windows/PHP 5.2.x 準(zhǔn)確: 95%, 召回: 91%,
php_scws.dll(3) PHP擴(kuò)展庫(kù) Windows/PHP 5.3.x 準(zhǔn)確: 95%, 召回: 91%,
php_scws.dll(4) PHP擴(kuò)展庫(kù) Windows/PHP 5.4.x 準(zhǔn)確: 95%, 召回: 91%,
PSCWS23 PHP源代碼 不限 (不支持UTF-8) 準(zhǔn)確: 93%, 召回: 89%,
PSCWS4 PHP源代碼 不限 準(zhǔn)確: 95%, 召回: 91%,
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
利用PHP判斷是手機(jī)移動(dòng)端還是PC端訪問的函數(shù)示例
在平常工作開發(fā)中,我們通常需要開發(fā)出PC端和移動(dòng)端兩個(gè)不同的系統(tǒng),從而根據(jù)訪問端的不同進(jìn)入到不同的操作界面中。下面這篇文章主要給大家介紹了關(guān)于利用PHP判斷是手機(jī)移動(dòng)端還是PC端訪問的函數(shù)的相關(guān)資料,需要的朋友可以參考下。2017-12-12php的curl實(shí)現(xiàn)get和post的代碼
類似于dreamhost這類主機(jī)服務(wù)商,是顯示fopen的使用的。使用php的curl可以實(shí)現(xiàn)支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。2008-08-08php 字符過(guò)濾類,用于過(guò)濾各類用戶輸入的數(shù)據(jù)
最近老看到有人的網(wǎng)站被掛馬,發(fā)一個(gè)php的字符過(guò)濾類,建議廣大站長(zhǎng)朋友們多關(guān)注下,安全方面的知識(shí)。2009-05-05php實(shí)現(xiàn)專業(yè)獲取網(wǎng)站SEO信息類實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)專業(yè)獲取網(wǎng)站SEO信息類,實(shí)例分析了seoreport類針對(duì)網(wǎng)站SEO信息檢查與獲取的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04ThinkPHP使用心得分享-上傳類UploadFile的使用
ThinkPHP中的UploadFile類用于處理文件上傳,本文小總結(jié)了一下關(guān)于學(xué)習(xí)過(guò)程中對(duì)UploadFile類的使用方法。2014-05-05