搜索
Mysql的Innodb引擎不能使用FULLTEXT索引吗
ringa_lee
ringa_lee 2017-04-17 10:59:26
[MySQL讨论组]

我想在查询时使用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类型的),代码改动会小一些。
天蓬老师

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号