开源中文检索软件CoreSeek之初体验
国人开发的CoreSeek实际是上基于Sphinx的定制版,使用mmseg进行中文分词并实现中文搜索。
官网提供了详细的安装说明和CentOS5的rpm安装包,由于笔者需要在CentOS 6 x86_64上运行,得自行打包。笔者已完成源码包的封装:mmseg 、 coreseek。
相对Sphinx的安装,CoreSeek需要安装中文分词库mmseg。测试方法就是在示例数据库里插入一些中文字符串:
然后重建索引就可以自动分词,并查询中文了:
特别需要注意的就是,要统一字符编码。笔者统一使用UTF-8,示例MySQL数据库对应表的属性是:
CREATE TABLE `documents` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`group_id` int(11) NOT NULL,
`group_id2` int(11) NOT NULL,
`date_added` datetime NOT NULL,
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`content` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
另外就是CoreSeek的配置文件中需要指定字符集,详细配置请解开源码包查看详细。笔者编译过程开启了对unixodbc、mmseg、mysql和python的支持:
并打包了php的api库、日志分割以及系统服务:
需要中文分词搜索的,用CoreSeek真是扛扛的!唯一美中不足的就是内置的Sphinx版本还比较老旧,对新功能的支持可能没那么好。需要大家大力支持,促进国人软件的发展!