关于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"}}