開源中文檢索軟體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版本還比較老舊,對新功能的支援可能沒那麼好。需要大家大力支援,促進國人軟體的發展!
轉載於:https://my.oschina.net/kisops/blog/152190