索引的操作-全文索引概述
全文索引(Full-Text Index)
:全文本索引
用于处理自然语言文本的搜索
,而不是对表中的数值进行搜索。全文本索引在执行全文本搜索时,可以使用分词器
来拆分文本
并生成索引
。MySQL 8支持全文本索引
。
只有字段的数据类型为char
,varchar
,text
及其系列(字符串类型)才可以创建全文索引。
创建全文索引
数据准备–创建表时指定全文索引
修改表结构添加全文索引
-- 修改表结构添加全文索引
-- 为content列创建索引
ALTER TABLE 表名 add fulltext 索引名(content);
ALTER TABLE 表名 ADD FULLTEXT(列名);
直接添加全文索引
-- 添加全文索引
CREATE FULLTEXT index 索引名 on 表名(列名);
-- 在 "t_article" 表的 "content" 列上创建一个名为 "index_content" 的全文索引
CREATE FULLTEXT index index_content on t_article(content);
查看索引类型
使用全文索引
在MySQL8
中,可以使用 MATCH()
函数和 AGAINST()
函数来进行全文索引
的查询
。
需要注意
的是,全文索引查询只能应用于包含全文索引的列,否则会出现语法错误。
全文索引查询,查询的关键词需要大于等于>=
3
-- 在 MySQL 8 中,可以使用 `MATCH()` 函数和 `AGAINST()` 函数来进行全文索引的查询。例如:
SELECT * FROM 表名 WHERE MATCH(列名) AGAINST('查询的关键词');
-- 在这个语法中,`table_name`是要进行查询的表名,`column_name`是要查询的列名,`search_keyword`是要搜索的关键词。
SELECT * FROM table_name WHERE MATCH(column_name) AGAINST('search_keyword');