MySQL中文全文索引插件推荐:mysqlcft
MySQL在高并发连接、数据库记录数较多的情况下,SELECT … WHERE … LIKE ‘%…%’的全文搜索方式不仅效率差,而且以通配符%开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一问题提供了一种全文索引解决方案,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索。但是,至今为止,MySQL对中文全文索引无法正确支持。
Mysqlcft 是为 MySQL 5.1.22 ~ 5.1.25 RC 开发的中文全文索引插件,用于解决MySQL无法正确支持中文全文检索的问题。
MySQL中文全文索引插件mysqlcft的优点:
mysqlcft的核心思想──“三字节交叉切分算法”
注:本文以0~7数字序号代表“英文”、“数字”和“半个汉字”,以便说明。
1、按三字节对中文语句进行切分,建立全文索引:
例如:“全文索引”或“1台x光机”四个字会被交叉分拆为6份,建立反向索引:012/123/234/345/456/567。
2、按三字节对搜索的关键字进行切分,在全文索引中找出对应信息:
例①:搜索关键字“文索”,用数字序号表示就是“2~5”,那么它将被切分成:234/345。这样,就与全文索引对上了。
例②:搜索关键字“x光机”,用数字序号表示就是“3~7”,那么它将被切分成:345/456/567。这样,也与全文索引对上了。
例③:搜索关键字“1台 光机”,用数字序号表示就是“0~2”和“4~7”,那么它将被切分成:012/456/567 。这样,多关键字搜索也与全文索引对上了。
更多的信息见:《MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档》
程序官方地址:http://code.google.com/p/mysqlcft/
建议继续学习:
- mysql的全文索引限制 (阅读:2390)
- MySQL全文检索中不进行全文索引默认过滤词表(ft_stopword_file =>ft_precompiled_stopwords) (阅读:2173)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:标点符 来源: 标点符
- 标签: mysqlcft 全文索引
- 发布时间:2011-10-12 00:17:58
- [54] Oracle MTS模式下 进程地址与会话信
- [54] 图书馆的世界纪录
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [53] android 开发入门
- [51] 【社会化设计】自我(self)部分――欢迎区
- [51] 如何拿下简短的域名
- [50] Go Reflect 性能
- [47] 读书笔记-壹百度:百度十年千倍的29条法则
- [34] 程序员技术练级攻略
- [31] 视觉调整-设计师 vs. 逻辑