当前位置: 主页 > 日志 > 其它 >

[转]mysql 全文检索 中文分词

 原文地址:http://hi.baidu.com/agg230/blog/item/33d3d50eada260e337d1225b.html

 

根据Mysql数据库产品开发人员的意见,Mysql全文检索技术对东亚文字(包括中文、日文和韩文)的支持很差,是因为对于东亚文字的有效分词很难实现。东亚文字,尤其是中文,实现对中文的全文检索,最重要的就是对中文文字进行科学的词组识别,俗称中文分词系统
两个著名的免费数据库系统MYSQL和PostgreSQL都支持全文检索,但都不支持东亚文字的全文检索

做的好的主要由两个一个是海量公司的 一个是 Hightman开发的scws

分词参考:http://blog.csdn.net/idea888/archive/2006/10/22/1344770.aspx
众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子 “I am a student”,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道“student”是一个单词,但是不能很容易明白 「学」、「生」两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。“我是一个学生”,分词的结果是:“我 是 一个 学生”。
Google的中文分词技术采用的是美国一家名叫 Basis Technology(http://www.basistech.com)的公司提供的中文分词技术,百度使用的是自己公司开发的分词技术,中搜使用的是国内海量科技(http://www.hylanda.com)提供的分词技术。业界评论海量科技的分词技术目前被认为是国内最好的中文分词技术,其分词准确度超过99%,由此也使得中搜在搜索结果中搜索结果的错误率很低。

海量http://www.hylanda.com/server/
下载MySQL5.0.37--LinuxX86-Chinese+
不需要提前安装mysql 然后依次执行
groupadd mysql
useradd -g mysql mysql
cd /usr/local
gunzip < /root/mysql-chplus-5.0.37-linux-i686.tar.gz|tar xvf -
ln -s /usr/local/mysql-chplus-5.0.37 /usr/local/mysql
cd mysql
scritps/mysql_install_db --user=mysql
chown -R mysql data
chown -R mysql .
/usr/local/mysql/bin/mysqld_safe --user=mysql &
即可   测试:
create table test ( testid int(4) not null , testtitle varchar(256), testbody varchar(256), fulltext(testtitle,testbody));
insert into test values
->(NULL,'你好吗','特斯他你好吗'),
->(NULL,'好你好','好你好');
select * from test where match(testtitle,testbody) against('你好' in boolean mode);

[日志信息]

该日志于 2011-05-03 12:34 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “[转]mysql 全文检索 中文分词” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部