Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1261710
  • 博文数量: 315
  • 博客积分: 10397
  • 博客等级: 上将
  • 技术积分: 3731
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-07 21:21
文章分类

全部博文(315)

文章存档

2015年(10)

2014年(3)

2013年(2)

2012年(8)

2011年(8)

2010年(29)

2009年(59)

2008年(77)

2007年(119)

分类:

2008-01-08 15:01:28

既是要全文搜索,肯定离不开分词,英文很好办,一段话,每个词之间都有gap,但中文不行,都是连贯的,所以需要一个中文分词的规则,来匹配搜索的短语.
  推荐一个中文分词的PHP扩展:

根据版本,下载后在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);

阅读(1196) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~