- 论坛徽章:
- 0
|
既是要全文搜索,肯定离不开分词,英文很好办,一段话,每个词之间都有gap,但中文不行,都是连贯的,所以需要一个中文分词的规则,来匹配搜索的短语.
推荐一个中文分词的PHP扩展:
点击下载 SCWS 扩展 PHP 4.4.x 版二进制文件
点击下载 SCWS 扩展 PHP 5.2.x 版二进制文件
点击下载 SCWS 扩展源码及 VC6 工程文件
点击查看 SCWS - 简易中文分词系统简介
根据版本,下载后在php.ini下
extension=php_scws.dll
scws.default.charset = gbk/utf8
然后phpinfo();你会发现有一栏scsw表示安装成功
$sh = scws_open();
scws_set_charset($sh, 'utf8');
scws_set_dict($sh, 'etc/dict.utf8.xdb');
scws_set_rule($sh, 'etc/rules.utf8.ini');
$text = "我是一个中国人陈凯歌,我会C++语言,我也有很多T恤衣服";
scws_send_text($sh, $text);
$top = scws_get_tops($sh, 5);
while ($res = scws_get_result($sh))
{
foreach ($res as $tmp)
{
if ($tmp['len'] == 1 && $tmp['word'] == "\r")
continue;
if ($tmp['len'] == 1 && $tmp['word'] == "\n")
echo $tmp['word'];
else
printf("%s/%s ", $tmp['word'], $tmp['attr']);
}
}
echo "\n\n";
scws_close($sh);
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/32889/showart_459626.html |
|