关于scws的详细介绍,去官方网站看作者lightman的说明。http://www.xunsearch.com/scws/
这里一句话总结下,scws是一套用来提取文本中指定关键词的软件。文本有大有小,指定关键字则由词库文件来决定。关键字提取出来,大有可用。
1可以放入网页中的<meta name="keywords" content=""/> ,增加网页的权重
2搜索词推荐、关键字广告
3结合搜索推荐相关内容
4欢迎补充……
A 安装
1 获取最新版以及安装
cd /usr/local/src
wget http://www.xunsearch.com/scws/down/scws-1.2.2.tar.bz2
tar xvjf scws-1.2.2.tar.bz2
cd scws-1.2.2
./configure -prefix=/usr/local/scws
make
make install
2 确认安装成功
确认文件是否存在
ls -al /usr/local/scws/lib/libscws.la
执行scws-cli文件
/usr/local/scws/bin/scws -h
scws (scws-cli/1.2.2)Simple Chinese Word Segmentation - Command line usage.Copyright (C)2007 by hightman.
文件存在,介绍信息正确,表明安装成功
3 下载词典文件备用
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
B 结合php使用
要想在php中使用scws分词工具,必须安装php扩展,并且必须要求php与scws安装在同一台机器。
cd /usr/local/src/scws-1.2.2/phpext
/usr/local/php-5.3.8/bin/phpize .
/configure --with-scws=/usr/local/scws --with-php-config=/usr/local/php-5.3.8/bin/php-config
make
make install
在php.ini加入以下配置
extension = scws.so
scws.default.charset = gbk
scws.default.fpath = /usr/local/scws/etc
重启php,看看phpinfo中scws扩展是否安装成功。
php简单使用scws代码
<?php $words = array(); $so = scws_new(); $so->set_charset('utf8'); $so->set_dict("/usr/local/scws/etc/dict.xdb"); $so->send_text($text); while ($tmp = $so->get_result()){ foreach ($tmp as $val){ if (strlen($val['word']) > 3) $words[] = $val['word']; } } $so->close(); print_r(array_count_values($words)); php?>
C XDB导入导出工具
scws作者提供了php版本的词库导入导出工具。
cd /usr/local/src
wget http://www.xunsearch.com/scws/down/phptool_for_scws_xdb.zip
unzip phptool_for_scws_xdb.zip
mkdir /usr/local/scws/php/
mv make_xdb_file.php dump_xdb_file.php readme.txt xdb.class.php /usr/local/scws/php/
cd /usr/local/scws/php/
导出词典。readme.txt文件有详细的使用说明。
/usr/local/php-5.3.8/bin/php ./dump_xdb_file.php /usr/local/scws/etc/dict.utf8.xdb /usr/local/scws/etc/dict.utf8.txt
D 使用http-scws
上面php的使用方式有一个小缺点,就是php要和scws在同一台机器上。意味着每台机器都要安装scws和php扩展。使用http-scw可以避免这样的问题,但是也要谨慎使用,因为涉及到网络传输。
http-scws其实就是在scws的基础上做了一层http封装,以服务的方式在服务器上开启端口,监听请求。完整介绍见http://code.google.com/p/http-scws/。
cd /usr/local/src
wget http://http-scws.googlecode.com/files/http-scws_2.1.zip
unzip http-scws_2.1.zip
mv http-scws_2.1 /usr/local/http-scws
cd /usr/local/http-scws
修改http-scws.h文件,将第31行的#include <scws/scws.h> 改成 #include </usr/local/scws/include/scws/scws.h>
执行编译命令 gcc -o http-scws cJSON.c http-scws.c -L/usr/local/scws/lib -lscws -levent -lm -Wl,--rpath
会在当前文件夹下生成一个有执行权限的http-scws文件
./http-scws -h 查看帮助
开启服务
/usr/local/http-scws/http-scws -f /usr/local/scws/etc/dict.utf8.txt -r /usr/local/scws/etc/rules.utf8.ini -d
netstat -ntpl | grep 2011 我们可以看到默认的端口2011已经开启监听
打开浏览器 http://你的ip:2011/?text=得了感冒怎么办
{"status":{"no":"0","msg":"OK"},
"result":{"0":"得了","1":"感冒","2":"怎么办"},
"time":{"time":"0.0002","unit":"sec"}}