全文索引的相关参数无法动态修改,必须通过修改MySQL的配置文件来实现。通常,将最小搜索长度的值设置为2。首先打开MySQL的配置文件(MySQL 8.0的配置文件为:my.ini),在[mysqld]部分下面追加以下内容:查看该变量的语法:配置完参数后,重启MySQL服务器。在此示例中,我使用了最直接的方法——直接重启...
【MySQL】全文索引FULLTEXT的使用
全文索引与一般索引有所不同,在搜索效率上,全文索引相较于普通模糊查询(LIKE)能提高N倍,它是MySQL为搜索引擎专门提供的功能。
在MySQL 5.6之前的版本中,只有MyISAM存储引擎支持全文索引。然而,从5.6版本开始,InnoDB和MyISAM都支持全文索引。此外,只有字段类型为char、varchar、text及其变体才能创建全文索引。
MySQL 5.6之后版本引入了ngram解析器,该解析器能够解析中日韩三国文字。如果不使用ngram解析器,MySQL默认会使用空格与符号作为分隔符。对于英文来说这已足够,但对于中日韩文字则不够用,因此需要ngram解析器。
开始使用全文索引的步骤如下:
1:创建索引
可以使用可视化工具轻松创建索引。
2:查询语句
全文索引有特定的查询语法:match(字段) against(关键字)
3:为了提高搜索效果,通常需要配置最小搜索长度
全文索引的相关参数无法动态修改,必须通过修改MySQL的配置文件来实现。通常,将最小搜索长度的值设置为2。首先打开MySQL的配置文件(MySQL 8.0的配置文件为:my.ini),在[mysqld]部分下面追加以下内容:
查看该变量的语法:
配置完参数后,重启MySQL服务器。在此示例中,我使用了最直接的方法——直接重启电脑。然后删除原有的索引,并重新创建。
注意,修改完参数后,一定要重启电脑(或重启MySQL)并重新创建(或修复)索引,否则参数不会生效。
全文索引支持三种搜索模式:
1:自然语言模式(IN NATURAL LANGUAGE MODE,默认模式)
2:布尔搜索模式(IN BOOLEAN MODE)
3:查询扩展搜索
查询扩展搜索较少使用,具体细节未深入了解。2024-08-11