|
想做得好些,但是没这个条件<br /><br /><div align="center"><span style='font-size:14pt;line-height:100%'>Mysql中文分词插件</span></div><br />一、来源<br /><br /> <br /><br />Mysql全文检索的解析器缺省是按空格切分的,不能直接支持全文检索中文。从5.1版本开始,Mysql全文检索的解析器以插件的方式提供。猎兔提供符合Mysql插件格式的中文分词模块。<br /><br /> <br /><br />二、环境与安装<br /><br /> <br /><br /> 首先下载Mysql5.1版本。然后在gb2312或gbk的环境下启动Mysql服务。<br /><br /># cd /usr/local/mysql/bin<br /><br /># ./mysqld-max --user=mysql --default-character-set=gbk<br /><br /> <br /><br /> 把seg.so拷贝到插件指定的路径,缺省是 /usr/local/mysql/lib/mysql<br /><br /># cp ./seg.so /usr/local/mysql/lib/mysql/seg.so<br /><br /> <br /><br /> 把词典拷贝到Mysql的Data路径下的Dic子目录,缺省是 /usr/local/mysql/data/Dic/<br /><br /> <br /><br /> 进入Mysql:<br /><br /># mysql --default-character-set=gbk<br /><br /> <br /><br /> 安装插件:<br /><br />mysql>INSTALL PLUGIN cn_parser SONAME 'seg.so';<br /><br /> <br /><br />三、使用中文分词插件<br /><br /> <br /><br /> 创建表:<br /><br />mysql>CREATE TABLE t (c VARCHAR(255), FULLTEXT © WITH PARSER cn_parser) default charset gbk;<br /><br />mysql>INSERT INTO t VALUES ('测试中文');<br /><br />mysql>INSERT INTO t VALUES ('老师说明天开会');<br /><br />mysql> INSERT INTO t VALUES ('购买手机');<br /><br /> <br /><br /> 查询:<br /><br />mysql> SELECT MATCH© AGAINST('说明'),c FROM t;<br /><br />+-----------------------------------+-----------------------+<br /><br />| MATCH© AGAINST('说明') | c |<br /><br />+-----------------------------------+-----------------------+<br /><br />| 0 | 测试中文 |<br /><br />| 0 | 老师说明天开会 |<br /><br />| 0 | 购买手机 |<br /><br />+-----------------------------------+-----------------------+<br /><br />3 rows in set (0.00 sec)<br /><br /> <br /><br />mysql> SELECT MATCH© AGAINST('说'), c FROM t;<br /><br />+--------------------------------+-----------------------+<br /><br />| MATCH© AGAINST('说') | c |<br /><br />+--------------------------------+-----------------------+<br /><br />| 0 | 测试中文 |<br /><br />| 0.58370667695999 | 老师说明天开会 |<br /><br />| 0 | 购买手机 |<br /><br />+--------------------------------+-----------------------+<br /><br />3 rows in set (0.00 sec)<br /><br /> |
|