MySQL全文索引的使用
2022-07-25 21:03:57 5 举报
全文索引概述
作者其他创作
大纲/内容
匹配规则
结构
③停用词:用参数ft_stopword_file来指定一组外部文件来自定义,对于一些文档中词频较高的词语可以进行停用以提升查询效率,但同时停用词的设置也会降低全文索引的精确度
全文索引
特性
②match against:语法为match(字段)against(关键词),返回值是float类型的相关度,当该函数放到order by中时会使用文件排序。由于全文索引不会记录关键词来自哪一列,所以match后字段必须和索引列完全相同
①相关度:匹配到的关键词的个数,以及在文档中出现的次数(词频)
MyISAM(MySQL5.6后InnoDB开始支持全文索引,但本概念图仅解释全文索引在MyISAM中的工作流程)
③全文索引只能进行相关度排序,若要用其他排序只能进行文件排序
②全文索引没有储存字段实际值,无法进行覆盖扫描
关键词长度必须属于(ft_min_word_len,ft_max_word_len),编写查询时可指定前缀修饰词以自定义关键词的相关度
布尔全文索引
①当全文索引可以生效时,优先级最高,优化器会忽略其他可能的最优索引
基于“①相关度”进行匹配,可根据where子句中的②match against函数进行判断是否使用全文索引
将需要索引的列全部拼接成一个字符串,然后进行索引,可指定③停用词,最大和最小关键词长度
两层的b-tree。第一层是所有关键词,第二层是一组“文档指针”
工作原理
自然语言全文索引
0 条评论
下一页