MySQL全文搜索引擎 mysqlcft

LGPL
C/C++
Linux
2012-11-29
张宴

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倍。

加载中

评论(2)

MR_AMYLEE
MR_AMYLEE
如果是Java 的话 基本上会使用到 lucene 这个真心没用过 先mark一下
Ryan-瑞恩
Ryan-瑞恩
好用么? #mysqlcft#

暂无资讯

1
回答
mysqlcft 建索引时 导致连接中断

@张宴 你好,想跟你请教个问题: 服务器centos5.8 X64,mysql 5.6.14 X64, 安装mysqlcft成功, 但是在"ALTER T...

2014/01/13 17:59

没有更多内容

加载失败,请刷新页面

没有更多内容

MySQL中文索引插件mysqlcft安装及使用

MySQL中文索引插件mysqlcft安装及使用 1.MySQL必须是动态编译安装的,以便加载动态链接库。 2.编辑MySQL配置文件my.cnf,在[mysqld]段中加入ft_min_word_len=1(意为最小词所占字节数) 3.安...

2013/08/23 13:01
731
1
mysql中文全文索引

参考:http://www.s135.com/read.php/356.htm MySQL在高并发连接、数据库记录数较多的情况下,SELECT ... WHERE ... LIKE '%...%'的全文搜索方式不仅效率差,而且以通配符%和_开头作查询时,...

2012/11/22 22:38
137
1
sql使用索引为什么查询速度变快很多

以前只知道mysql使用索引可以使查询速度加快很多,不知道其中原理,一不小心被问住了,后来查资料才知道所以然,发现自己知道的太少了,惭愧!!然后只有默默的记录下来(看了一篇大神的文章...

2017/10/24 14:32
14
0
Mysql几种索引类型的区别及适用情况

如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。 那么,这几种索引有什么功能和性能上的不同呢? FULLTEXT 即为全文索引,目前只有MyISAM引擎支持。其可以...

2018/10/15 17:33
12
0
mysql优化概述(范式.索引.定位慢查询)

提升网页的显示速度的方式有很多,网站访问速度慢的主要原因是操作了数据库,或者是大并发。 解决方案也是多式多样,比如,页面静态化,使用memcache或者redis,将安全性要求不高,却访问平凡...

2014/08/28 16:31
21
0
Mysql 索引

Mysql 索引

2014/11/17 15:14
162
1
Mysql索引讲解

一、 创建索引 MySQL 索引背后的数据结构及算法原理 主键索引创建 主键索引的创建有两种形式: 是在创建表的时候,直接指定某列或者某几列为主键; 先创建表,再指定主键索引 增加主键: AL...

03/07 20:53
11
0
电商平台技术架构 多用户商城 仿天猫 淘宝 亚马逊 当当 阿里巴巴 大数据模块 低成本运维 高效开发

电商平台多用户商城系统架构行业现状 浏览全球知名电商机构(天猫 淘宝 亚马逊 当当 阿里巴巴...),包括开源电商软件(Magento、OpenCart、Xcart、Zencart、Prestashop....),知名的就那几...

2015/06/15 12:29
3.3K
11
mysql

一、用户管理 创建用户 create user 'mark'@'localhost' identified by '1234'; create user 'public'@'%' identified by 'public'; 授权 grant select on mydatabase.* to 'mark'@'localhos...

2018/03/22 10:09
4
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部