MySQL 5.6中的InnoDB全文搜索

7

我知道MySQL 5.6仍处于测试版阶段,但有没有人使用过新的InnoDB FTS引擎?它与Sphinx之类的工具相比如何?

谢谢 Jason


1
请浏览以下内容:http://blogs.innodb.com/wp/2011/07/difference-between-innodb-fts-and-myisam-fts/ http://blogs.innodb.com/wp/2011/07/innodb-fts-performance/ http://blogs.innodb.com/wp/2011/07/innodb-full-text-search-tutorial/ http://blogs.innodb.com/wp/2011/07/overview-and-getting-started-with-innodb-fts/ - Jauzsika
您是否在寻找特定的功能或性能指标?如已经说明,您的问题可能不具有建设性并且无法获得非主观的答案。 - Kris
3个回答

3

我从未使用过Sphinx,但是我已经在一个包含约170,000行记录的Innodb表上尝试了MySQL 5.6 FTS。我在name列上建立了一个FTS索引(其中包含一个人的所有名字)。为了在字符串的任何位置查找单词,MATCH(name) AGAINST("+word*") IN BOOLEAN MODE比使用name LIKE "word%" OR name LIKE "% word"要快得多(在我的情况下快了2-3倍)。

然而,在进行连接时,请检查EXPLAIN以查看是否实际使用了FTS索引。似乎MySQL优化器并不擅长猜测何时应该使用FTS索引。


2

全文检索功能(FULLTEXT)过去需要从labs.mysql.com下载特殊版本,现在已经是主流的MySQL构建版本的一部分,包括5.6.5及以上版本(仍为测试版)。全文检索函数文档现在包含InnoDB特定的细节:MySQL全文检索函数


1

2
然而,使用一个产品比使用两个产品要容易得多。特别是当您将所有这些实现到客户端并离开时。在我们的大型项目中,我们当然使用Sphinx。 - Oroboros102

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接