一、下載源碼
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 來設定,否則可能出現意外錯誤。
