关于MySQL的中文全文检索技术
deminy 在 周四, 2006-02-23 23:08 提交
昨天有访客提到网志程序senrendipity的站内搜索功能(需要用到MySQL数据库的全文检索技术)对中文的支持很差。我当时的回复是“限于客观原因等,此问题暂无理想的方案”。
后来我进一步地去网上做了相关的调查。根据MySQL数据库产品开发人员的意见,MySQL全文检索技术对东亚文字(包括中文、日文和韩文)的支持很差,是因为对于东亚文字的有效分词很难实现。一个并不完美但可以参考的使用方案是在用数据库存储东亚文字的时候,将两个东亚文字之间都留上空格,这样就可以实现对东亚文字的全文检索了。
当然这个方案只是一个临时的无可奈何之举。
2个著名的免费数据库系统MySQL和PostgreSQL都支持全文检索,但好像都不支持东亚文字的全文检索。而据我所知微软的SQL Server数据库产品是支持针对中文的全文检索的(想必Oracle也应该支持中文的全文检索)。因此,我在想,为什么就没有人去做一下MySQL的中文全文检索的研究工作呢?我们很多的研究生所作的毕业论文涉及各种各样的课题,但其中真正有价值、有意义的也许不是很多,那为什么不能把我们有限的精力拿来做点更有意义的事情呢?
当然我是不会去做这方面的研究的了,但我期望有人能够去解决这个问题。
[补充说明1] 可参考海量科技的MySQL Chinese+产品。该产品(部分)支持中文全文检索。 2006-03-04 04:03:26
后来我进一步地去网上做了相关的调查。根据MySQL数据库产品开发人员的意见,MySQL全文检索技术对东亚文字(包括中文、日文和韩文)的支持很差,是因为对于东亚文字的有效分词很难实现。一个并不完美但可以参考的使用方案是在用数据库存储东亚文字的时候,将两个东亚文字之间都留上空格,这样就可以实现对东亚文字的全文检索了。
当然这个方案只是一个临时的无可奈何之举。
2个著名的免费数据库系统MySQL和PostgreSQL都支持全文检索,但好像都不支持东亚文字的全文检索。而据我所知微软的SQL Server数据库产品是支持针对中文的全文检索的(想必Oracle也应该支持中文的全文检索)。因此,我在想,为什么就没有人去做一下MySQL的中文全文检索的研究工作呢?我们很多的研究生所作的毕业论文涉及各种各样的课题,但其中真正有价值、有意义的也许不是很多,那为什么不能把我们有限的精力拿来做点更有意义的事情呢?
当然我是不会去做这方面的研究的了,但我期望有人能够去解决这个问题。
[补充说明1] 可参考海量科技的MySQL Chinese+产品。该产品(部分)支持中文全文检索。 2006-03-04 04:03:26
类别:
评论
那个海量科技的软件,居然宣称“本软件遵循GNU通用公共许可证”,但是却不提供源程序。这算什么GNU?
分词是个很复杂的问题。“乡下-农民-运-猪-进城”这么简单的新闻,就因为被分词成“民-运”而被禁止!(我加个减号在中间,免得国内的人访问不了你这个网站:))
不过,海量科技的分词技术是国内最好的。百度用的就是它的技术。
我终于开始了解原来分词技术也是一个有意思的东西了。
最新的mysql ch+是海量和mysql合作开发的,开发基于mysql5.0.37版。已经有开放的源码包供下载,可以登陆海量网站进行下载。
很不错。我暂时没时间测试,但会继续关注。
祝你们事业顺利。
添加新评论
友情提醒:您的言论自由在本站会得到充分保证;不过,由于广告留言等猖獗,因此本站的内容过滤系统有可能会暂时屏蔽您新发的留言或评论。不便之处,希望理解。