MySQL 5.6 InnoDB 全文搜索

标签 mysql full-text-search innodb sphinx

我知道 MySQL 5.6 仍处于测试阶段,但是有人有使用新的 InnoDB FTS 引擎的经验吗?它与 Sphinx 之类的东西相比如何?

谢谢 杰森

最佳答案

从未使用过 Sphinx,但在大约 170k 行的 Innodb 表上尝试过 MySQL 5.6 FTS。在姓名列(包含一个人的所有姓名)上建立了 FTS 索引。要在字符串的任何位置找到单词,MATCH(name) AGAINST("+word*") IN BOOLEAN MODE 确实比使用 快得多(在我的例子中是 2-3 倍) >name LIKE "word%"OR name LIKE "% word".但是,在进行连接时,请检查 EXPLAIN 以查看是否实际使用了 FTS 索引。看来 MySQL 优化器不太擅长猜测何时应该使用 FTS 索引。

关于MySQL 5.6 InnoDB 全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8104094/

相关文章:

php - 如何更改 Laravel 中的 URL 结构

MySQL:无法使用 dba.configureLocalInstance() 为 InnoDB Cluster 设置 MySQL 服务器

mysql - 更改mysql系统表的存储引擎?

自动递增 ID MYSQL 5 的 hibernate 问题

MySQL根据偏好匹配两个用户

MySQL 全文搜索与查询匹配 AND OR Column1 = ABC

php - 为什么西类牙语单词无法在完全匹配的全文索引中正确搜索

python - 使用 sqlite 的 FTS 片段功能处理 html 转义

mysql - Innodb 不允许我更新复合主键?

php - Yii 选择 mysql 进程列表