问题描述:使用全文索引,查询某些单词,比如beijing,of,to,also等等。查询失败。。。

测试表结构:

测试表数据:

查询失败分析:

1."beijing"查询失败,是因为"beijing"一词结果太多,占到了整列所有单词的50%。

如果一个关键词在50%的数据出现,那么这个词会被当做无效词。如果你想去除50%的现在请使用IN BOOLEAN MODE搜索。

查询语句:select * from test01 where match(city) against ('beijing' IN BOOLEAN MODE);

2."of"查询失败,是因为全文索引搜索时,默认会忽略length<4 和 length>84的单词。使用

show variables like 'ft%'; 命令可以查看关于全文索引的参数变量。

解决办法:将ft_min_word_len 改为1。

修改后必须重建索引文件重新建立索引命令:repair table tablename quick

3."also"查询失败,也是因为全文索引的参数变量问题。ft_stopword_file会内置一些没有实际意义的词,在查询时,会忽略这些词。可将该参数设为"",则禁用单词忽略。

补充:ft_boolean_syntax属性

改变IN BOOLEAN MODE的查询字符,不用重新启动MySQL也不用重建索引

也就是说,可以用后面的这些符号,可以用来改变查询的结果

详见:MySQL使用全文索引(fulltext index)​www.cnblogs.com

补充:Windows下无法修改 ft_min_word_len的情况,

使用cmd打开 services.msc,

找到你的 MySQL服务,右键Properties,找到你的my.ini所在的路径

停止MySQL,在my.ini中增加 ft_min_word_len = 1,重启MySQL,

然后使用命令 show variables like 'ft_min_word_len'; 查看是否生效了

mysql repair 索引_mysql 问题记录(1) 全文索引查询问题及使用方法相关推荐

  1. mysql repair 索引_mysql 创建索引、重建索引、查询索引、删除索引 转自:http://www.phpernote.com/mysql/942.html...

    本篇文章主要是对MySQL索引操作方法做了一下总结,包括创建索引.重建索引.查询索引.删除索引的操作.以下所列示例中中 `table_name` 表示数据表名,`index_name` 表示索引名,c ...

  2. mysql repair 索引_mysql 删除行会重建索引吗

    匿名用户 1级 2015-02-11 回答 有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, ...

  3. mysql简单索引_mysql简单索引

    mysql的索引是在存储引擎实现的,而不是在服务器层,因此不是标准的. b-tree: 大部分的mysql支持b-tree索引,archive知道mysql5.1才支持,而且仅仅是支持单个auto_i ...

  4. mysql 动态索引_MySQL的索引

    在日常工作中,我们经常会用到mysql的索引.使用索引的目的基本上就是为了在大量的数据中快速找出某个列中一个特定值的行,简单说就是提高查询效率. 使用索引的优点: 可以快速检索,减少I/O次数,加快检 ...

  5. mysql 前索引_MySQL查询性能优化前,必须先掌握MySQL索引理论

    数据库索引在平时的工作是必备的,怎么建好索引,怎么使用索引,可以提高数据的查询效率.而且在面试过程,数据库的索引也是必问的知识点,比如: 索引底层结构选型,那为什么选择B+树? 不同存储引擎的索引的体 ...

  6. mysql double 索引_MySQL架构优化实战系列1:数据类型与索引调优全解析

    一.数据类型优化 数据类型 整数 数字类型:整数和实数 tinyint(8).smallint(16).mediuint(24).int(32).bigint(64) 数字表示对应最大存储位数,如 t ...

  7. mysql默认索引_mysql的索引

    什么是索引:当你在字典中查找你的名字的时候,你有两种方式.第一.一页一页的翻,第二.通过拼音.笔画,等查找.那么第二种方式就是通过索引的方式查找.那么在myslq中数据库也是这么干的.索引可以增加查询 ...

  8. mysql 制定索引_mysql的最佳索引攻略

    > 本设计和优化专题转自博客园的[Mysql的设计和优化专题](http://www.cnblogs.com/nixi8/) ## Explain优化查询检测 所谓索引就是为特定的mysql字段 ...

  9. mysql innerdb 索引_mysql innodb索引原理

    聚集索引(clustered index) innodb存储引擎表是索引组织表,表中数据按照主键顺序存放.其聚集索引就是按照每张表的主键顺序构造一颗B+树,其叶子结点中存放的就是整张表的行记录数据,这 ...

最新文章

  1. synchronized为可重入锁
  2. spring3依赖包下载
  3. 全球再迎超级飓风,黑客可利用微软“蠕虫级”高危漏洞暴击全球
  4. python 调用vba 参数 保存表格_Jupyter Notebooks嵌入Excel并使用Python替代VBA宏
  5. 一步步实现koa核心代码
  6. JSP中application的用法
  7. Spring的数据库编程浅入浅出——不吹牛逼不装逼
  8. 如何创建线程?如何创建扩展Thread类?
  9. centos 7 8安装quaartus 遇到的问题及解决方法
  10. 利用图灵机器人为公众号添加智能问答,知识库功能
  11. 【数据库】E-R图相关知识、绘制方法及工具推荐
  12. 行人重识别论文阅读10-DDAG 动态双注意聚合学习策略
  13. 微信新版本文件乱保存自用解决方法
  14. 到底什么是CE、C++、C+L波段?
  15. Android侧滑返回分析和实现(不高仿微信),flutter项目实战
  16. 使用SQL语句创建数据库和数据库表
  17. Elasticsearch _search查询参数及过滤
  18. 【Word】插入题注图1-1,并在文章中交叉引用
  19. 企业里用哪种文件共享服务器,企业有哪些文件共享方式、企业共享网盘推荐?...
  20. Long类型的数据转换

热门文章

  1. PM你真的很忙吗?如何进行时间管理
  2. SAP号码段表及相关操作T-CODE
  3. Send mail in ECC
  4. 租房还是买房结婚?大数据告诉你年轻人的真实想法
  5. 金融行业创新突围,华为如何趟过产业数字化深水区?
  6. java io--内存操作流_JavaIO——内存操作流、打印流
  7. mysql安装 linux 5.6,Linux安装MySql5.6版详细教程
  8. python输出一个数的每一位_Python练习实例88 | 读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。...
  9. python元组的概念_python元组的概念知识点
  10. java三角形剪角_大班数学:拼角剪角