因最近写的一段代码,需要用到中文分词,在网上找了一下,发现了scws这个不错的插件,故根据文档安装使用,下面记录下安装的全过程
系统:centos
安装scws
wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2
tar xvjf scws-1.2.3.tar.bz2
cd scws-1.2.3
./configure --prefix=/usr/local/scws
make
make install
下载词典
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配置
cd ~/scws-1.2.3
cd phpext
/www/server/php/56/bin/phpize(这里的配置按照实际的php地址配置,这里是宝塔面板环境下的地址)
./configure --with-scws=/usr/local/scws --with-php-config=/www/server/php/56/bin/php-config(这里的配置按照实际配置,这里是宝塔面板环境下的地址)
make
make install
在php.ini中加入
[scws]
;
; 注意请检查 php.ini 中的 extension_dir 的设定值是否正确, 否则请将 extension_dir 设为空,
; 再把 extension = scws.so 指定绝对路径。
;
extension = scws.so
scws.default.charset = gbk
scws.default.fpath = /usr/local/scws/etc
保存后重新启动php环境
测试代码
<?php
$so = scws_new();
$so->set_charset('gbk');
// 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文件
$so->send_text("小姐姐,我喜欢你,做我女朋友吧!");
while ($tmp = $so->get_result()){
print_r($tmp);
}
$so->close();
?>
小小吐槽
ps:这里吐槽一下,该项目作者的产品,xunsearch中也包含了scws分词,我一开始用的就是这个,但是,如果长时间执行,会提示超时。
修改配置,查看源代码,修改stocket链接超时也不起作用,百度在论坛上发现类似问题,但是没有解答。
故,如果使用分词,最好还是用scws搭建。
原文地址:http://lovefc.cn/view/49.html