MySQL全文搜索引擎:mysqlcft
MySQL在高并發連接、數據庫記錄數較多的情況 下,SELECT ... WHERE ... LIKE '%...%'的全文搜索方式不僅效率差,而且以通配符%開頭作查詢時,使用不到索引,需要全表掃描,對數據庫的壓力也很大。MySQL針對這一問題提供 了一種全文索引解決方案,這不僅僅提高了性能和效率(因為MySQL對這些字段做了索引來優化搜索),而且實現了更高質量的搜索。但是,至今為 止,MySQL對中文全文索引無法正確支持。
Mysqlcft 是為 MySQL 5.1.22 ~ 5.1.25 RC 開發的中文全文索引插件,用于解決MySQL無法正確支持中文全文檢索的問題。

特點:
1、優點:
- 精準度很高:采用自創的“三字節交叉切分算法”,對中文語句進行分割,無中文分詞詞庫,搜索精準度遠比中文分詞算法高,能達到LIKE '%...%"的準確率。
- 查詢速度快:查詢速度比LIKE '%...%"搜索快3~50倍,文章末尾有測試結果;
- 標準插件式:以MySQL 5.1全文索引的標準插件形式開發,不修改MySQL源代碼,不影響MySQL的其他功能,可快速跟進MySQL新版本;
- 支持版本多:支持所有的MySQL 5.1 Release Candidate版本,即MySQL 5.1.22 RC~最新的MySQL 5.1.25 RC;
- 支持字符集:支持包括GBK、GB2312、UTF-8、Latin1、BIG5在內的MySQL字符集(其他字符集沒有測試過);
- 系統兼容好:具有i386和x86_64兩個版本,支持32位(i386)和64位(x86_64)CPU及Linux系統;
- 適合分布式:非常適合MySQL Slave分布式系統架構,無詞庫維護成本,不存在詞庫同步問題。
2、缺點:
- mysqlcft中文全文索引只適用于MyISAM表,因為MySQL只支持對MyISAM表建立FULLTEXT索引;
- MySQL不能靜態編譯安裝,否則無法安裝mysqlcft插件;
- 基于“三字節交叉切分算法”的索引文件會比海量、ft-hightman等基于“中文分詞算法”的索引文件稍大,但不是大很多。
根據我的測試,mysqlcft全文索引的.MYI索引文件是.MYD數據文件的2~6倍。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!