scws中文分詞安裝和使用
阿新 • • 發佈:2018-04-07
pre tex gbk 文件 log with default pat lib
一、下載源碼
wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 tar xvjf scws-1.2.3.tar.bz2
二、執行配置腳本和編譯
具體選項參數執行 ./configure --help 查看。常用選項為:--prefix=指定安裝目錄
cd scws-1.2.3 ./configure --prefix=/usr/local/scws make && make install
檢查是否安裝成功
ls -al /usr/local/scws/lib/libscws.la /usr/local/scws/bin/scws -h
三、下載通用詞典
cd /usr/local/scws/etc wget http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2 wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2 tar xvjf scws-dict-chs-gbk.tar.bz2 tar xvjf scws-dict-chs-utf8.tar.bz2
四、編譯PHP擴展
更新PHP擴展需要autoconf、automake及phpize工具,如果沒有的話需要新安裝。
apt-get install autoconf cd /root/scws-1.2.3/phpext phpize ./configure --with-scws=/usr/local/scws --with-php-config=/usr/local/bin/php-config make && make install
在 php.ini 中加入以下幾行
[scws] extension=scws.so scws.default.charset=gbk scws.default.fpath=/usr/local/scws/etc
在php程序中用 ini_get(‘scws.default.fpath‘) 讀取scws.default.fpath目默認字典錄設置
使用時指定詞典路徑和編碼:
$scws = scws_new(); $scws->set_charset(‘utf8‘); //指定編碼 $scws->set_dict(‘/usr/local/scws/etc/dict.utf8.xdb‘);//指定詞典路徑,可以是絕對路徑,也可以是相對路徑
測試分詞程序
php /root/scws-1.2.3/phpext/scws_test.php
如果運行失敗,很可能是未正確指定詞典路徑
六、兩個例子
(1)使用類方法分詞
<?php $so = scws_new(); $so->set_charset(‘gbk‘); $so->set_dict(‘/usr/local/scws/etc/dict.xdb‘); $so->set_rule(‘/usr/local/scws/etc/rules.ini‘); // 這裏沒有調用 set_dict 和 set_rule 系統會自動試調用 ini 中指定路徑下的詞典和規則文件 $so->send_text("我是一個中國人,我會C++語言,我也有很多T恤衣服"); while ($tmp = $so->get_result()) { print_r($tmp); } $so->close(); ?>
(2)使用函數提取高頻詞
<?php $sh = scws_open(); scws_set_charset($sh, ‘gbk‘); scws_set_dict($sh, ‘/usr/local/scws/etc/dict.xdb‘); scws_set_rule($sh, ‘/usr/local/scws/etc/rules.ini‘); $text = "我是一個中國人,我會C++語言,我也有很多T恤衣服"; scws_send_text($sh, $text); $top = scws_get_tops($sh, 5); print_r($top); ?>
註意:輸入的文字,詞典、規則文件這三者的字符集必須統一,如果不是默認的 gbk 字符集請調用 SimpleCWS::set_charset 或 scws_set_charset 來設定,否則可能出現意外錯誤。
scws中文分詞安裝和使用