国人开发的CoreSeek实际是上基于Sphinx的定制版,使用mmseg进行中文分词并实现中文搜索。
官网提供了详细的安装说明和的rpm安装包,由于笔者需要在CentOS 6 x86_64上运行,得自行打包。笔者已完成源码包的封装: 、 。
相对,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版本还比较老旧,对新功能的支持可能没那么好。需要大家大力支持,促进国人软件的发展!