Mysql的Innodb引擎不能使用FULLTEXT索引吗
ringa_lee
ringa_lee 2017-04-17 10:59:26
0
2
638

我想在查询时使用MATCH(...) AGAINST(...)语法,但是我的数据表引擎是Innodb,当我CREATE FULLTEXT INDEX的时候,返回提示The used table type doesn't support FULLTEXT indexes

我想问的是在innodb引擎中是否不能使用FULLTEXT引擎?有什么替代品吗?可以使用MATCH(...) AGAINST(...)语法吗?

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
大家讲道理

MySQL 5.6.4里才添加了InnoDB引擎的Full-Text索引支持。

不能升级MySQL版本的话:

  • 推荐用Lucene(ElasticSearch比较容易部署)或Sphinx这样的第三方解决方案。
  • 如果这个表更新不频繁,查询量不大,又赶时间,可以用触发器、定时任务或者其他类似的DBA技巧创建支持全文索引的镜像表(如MyISAM类型的),代码改动会小一些。
Peter_Zhu

innodb 不支持FULLTEXT类型的全文索引,但是innodb可以使用sphinx插件支持全文索引,并且效果更好。

sphinx 是一个开源软件,提供多种语言的API接口,可以优化mysql的各种查询。

另外,还可以看看 张宴的这篇文章: 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板