当前位置: 首页 > 软件库 > 程序开发 > 搜索引擎 >

mysqlcft

MySQL全文搜索引擎
授权协议 LGPL
开发语言 C/C++
所属分类 程序开发、 搜索引擎
软件类型 开源软件
地区 国产
投 递 者 郤立果
操作系统 Linux
开源组织
适用人群 未知
 软件概览

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

  •   MySQL全文索引在高并发、数据库记录数较多的情况下,select.where.like '%_%'的全文搜索方式不仅效率差,而且以通配符%和_开头做查询时,使用不到索引,需要权标扫描,对数据库的压力也很大。MySQL针对这一问题提供了一种全文索引FULLTEXT解决方案,这不仅仅提高了性能和效率(因为MySQL对 这些字段做了索引来优化搜索),而且实现了更高质量的搜索。但是,迄今为止,MyS

  • MySQL在高并发连接、数据库记录数较多的情况下,SELECT ... WHERE ... LIKE '%...%'的全文搜索方式不仅效率差,而且以通配符%开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一问题提供了一种全文索引解决方案,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索。但是,至今为止,MySQL对中文

  • [文章+程序 作者:张宴 本文版本:v1.0 最后修改:2008.07.01 转载请注明原文链接:http://blog.zyan.cc/post/356/] MySQL在高并发连接、数据库记录数较多的情况下,SELECT... WHERE ... LIKE '%...%'的全文搜索方式不仅效率差,而且以通配符%和_开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一

  • 下载:mysqlcft插件 32位 https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mysqlcft/mysqlcft-1.0.0-i386-bin.tar.gz 64位 https://storage.googleapis.com/google-code-archive-downloa

  • MySQL目前版本的全文检索没有对中文很好的支持,但可以通过安装mysqlcft插件来实现,具体的安装使用方法:http://blog.s135.com/post/356/ mysqlcft的官方网站上标明支持MySQL5.1(https://code.google.com/p/mysqlcft/),但发现在MySQL5.5和之前的版本中都是可以使用的,但在MySQL5.6中应用这个插件,并进行数

  • 如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。 那么,这几种索引有什么功能和性能上的不同呢? FULLTEXT 即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。值得一提的是,在

 相关资料
  • 回顾 在前面的章节(分页),我们已经加强了数据库查询,因此能够在页面上获取各种查询。 今天,我们会继续探讨数据库的话题,只是领域不同。所有存储内容的应用程序必须提供搜索能力。 许多其它类型的网站可能使用了谷歌、必应等索引所有的内容并且提供查询结果。这个对于大多数静态页面的网站,像论坛,是很好用。我们应用程序 microblog 的基本单元是用户短小的 blog,不是整个页面。我们希望搜索结果是动态

  • 问题内容: 我尝试在elasticsearchJava API上使用正则表达式运行全文搜索。我的过滤器是这样的: 但是它只与一个单词匹配,而没有短语匹配。我的意思是,例如: 如果soruce中有一个字符串,例如:“ ”,而当我的文本字符串如下:“ ”,“ ”,“ ” …时,它就起作用了。 但是,当我的realTimeTextIn字符串为“ ”时,全文搜索将不起作用。我搜索的单词不能超过一个。 我在

  • 我尝试在弹性搜索java api上使用正则表达式运行全文搜索。我的过滤器是这样的: 但是它只与一个单词匹配,而不是与短语匹配。我的意思是,例如: 如果soruce中有一个字符串,如:“

  • 问题内容: 我正在建立Django网站,并且正在寻找搜索引擎。 一些候选人: Lucene / Lucene与指南针/ Solr 狮身人面像 PostgreSQL内置全文本搜索 MySQl内置全文本搜索 选择标准: 结果相关性和排名 搜索和索引速度 易于使用,易于与Django集成 资源需求-网站将托管在VPS上,因此理想情况下,搜索引擎不需要大量的RAM和CPU 可扩展性 其他功能,例如“您的意

  • 我正在使用node.js连接到neo4j数据库。每当我必须为一个节点设置索引时,我都会通过转到neo4j浏览器(localhost:7474)来手动完成。 我构建了自己的nodejs适配器来连接到neo4j,因此目前我只能访问密码查询。要创建索引,我只能访问cypher或浏览器(7474)。那么创建自动全文索引的正确方法是什么,最好是从浏览器本身创建?我如何使用密码访问它(或者我必须访问它?neo

  • 问题内容: 我想在我的网页中进行全文搜索。我需要分页进行搜索。我的数据库每张表有50,000+行。我已经改变了我的表,并使其成为索引。该表始终处于更新状态,仍然有一个自动增加的列。而最新的总是在表格的末尾。 但整个查询时间将花费。我通过Google搜索了许多文章,有的文章写道,只有限制字段字长才能帮助更快地进行搜索。但作为一种类型,它会像这样改变一定的长度(我尝试过标题TEXT(500) CHAR

  • 问题内容: 这是我测试过的。 这是create语句。 等号和“赞”效果很好。所以为什么? 问题答案: 全文搜索需要多种多样的方式来消除重复的“噪音”。用最少的数据进行测试将产生较差的结果。将您的整个收藏集投入其中,以获取有意义的内容。如以下某些链接所示,甚至可以尝试搜索最小字数的设置。 停用词 有各种语言的停用词 MySql 列表,这些词表示在搜索过程中忽略的无关紧要的词。该列表已编译到服务器中,

  • 问题内容: 我正在将所有站点代码从使用mysql_ *函数转换为PDO。对于我的需求,PDO上的PHP文档尚不清楚。它为您提供了要使用的功能,但没有详细介绍它们在不同情况下的功能。 基本上,我有一个mysql全文搜索: 实际的语句要长得多,但这基本上就是它的作用。 我的问题是,如何将其纳入PDO? 我知道您不是要在位置标记周围使用引号,那么您是否将它们放在AGAINST()函数中?我包括他们吗?如