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的全文索引限制 (阅读:2339)
- MySQL全文检索中不进行全文索引默认过滤词表(ft_stopword_file =>ft_precompiled_stopwords) (阅读:2139)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:标点符 来源: 标点符
- 标签: mysqlcft 全文索引
- 发布时间:2011-10-12 00:17:58
- [558] Go Reflect 性能
- [31] 正态分布的前世今生(一)
- [19] Linux Used内存到底哪里去了?
- [17] 基于HTTP缓存轻松实现客户端应用的离线支持
- [16] 在JavaScript中什么时候使用==是正
- [16] 公钥私钥加密解密数字证书数字签名详解
- [15] osx平台上lol英雄联盟launcher启
- [15] Joomla反序列化漏洞的查漏补缺
- [14] Linux内存中的Cache真的能被回收么?
- [14] rsync同步的艺术