免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3203 | 回复: 0
打印 上一主题 下一主题

mysql中文分词索引 [复制链接]

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:46 |只看该作者 |倒序浏览
中文分词插件使用http://www.ftphp.com/的开源中文分词插件
首先安装SCWS-1.0.4(最新版本scws-1.1.0 发布于 2010-1-29)
直接编译安装,指定prefix=/usr/local/scws
这个东西基本是个绿色软件,可以不用编译rpm包,不需要直接删除整个文件夹
下载相应编码的词典文件放入/usr/local/scws/etc中
utf-8的词典为dict.utf8.xdb(1.1.0最新版可以自定义词库了,所以不需要通过修改核心词库xdb来建立自己的词库了)
http://www.hightman.cn/bbs/showthread.php?tid=712
下载mysql的源码包——mysql-5.1.32-1.fc11.src.rpm
因为分词插件是以mysql-5.1-30制作,所以版本不要差距太大
安装scr.rpm包

下载mysql调用scws插件:
http://www.hightman.cn/down/myft-5.1.30-081231.tgz
解压后把myft_scws_udf_5.1.30.patch复制到/usr/src/redhat/SOURCES中
修改/usr/src/redhat/SPECS/mysql.spec文件
在patch7下面增加
Patch8: myft_scws_udf_5.1.30.patch
在%patch7 -p1下面增加
%patch8 -p0
编译生成rpm包
rpmbuild -ba /usr/src/redhat/SPECS/mysql.spec

备份编译好的rpm包拿出来并rpm -ivh

这时候/usr/src/redhat/BUILD中还有mysql5.1.3的文件夹
将/myft-5.1.30-081231/plugin/scws文件夹
复制到/usr/src/redhat/BUILD mysql5.3/plugin中
进入plugin/scws目录
./configure --prefix=/usr/shar/mysql --with-scws=/usr/local/scws
这时候会在mysql中生成plugin目录里面包含scws的.o和.la文件,将这几个文件复制到mysql的plugin文件夹中(rpm安装后在/usr/lib/mysql/plugin/)并做好对应软连接(没尝试过--prefix=/usr/lib/mysql)
这时插件已经安装完成了

配置
在[mysqld] 字段里加入 ft_min_word_len = 2
进入mysql运行INSTALL PLUGIN scws_parser SONAME 'libftscws.so';(只需要一次)

创建分词测试函数(只需一次):
CREATE FUNCTION scws_segment RETURNS STRING SONAME 'libftscws.so';
CREATE FUNCTION scws_topwords RETURNS STRING SONAME 'libftscws.so';
中文分词是基于全文索引的,全文索引只支持MyISAM格式的表

这篇一年半前写的,中文分词插件更新了....貌似还是比较和mysql5.1合拍
redhat el 6才开始用mysql 5.1,所以中文分词插件最好用redhat6,5系列上5.1许多依赖都要去解决麻烦得要死,5.0是libmysqlclient.so.15.0.0,5.1是ibmysqlclient.so.16.0.0
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP