创建全文检索
创建全文检索有两种方式
- 方式一:
alter table 表名 add fulltext index 检索名词(如:ft_in)(检索列名) with parser ngram;
- 方法二:
create fulltext index 检索名词(如:ft_in) on 表名(检索列名) with parser ngram;
使用全文检索进行模糊搜索
select *from 表名 where match(设置全文检索的列名) against('查询条件' in boolean mode);
in boolean mode(布尔模式): 可以为检索的字符串增加操作符,且不会像自然语言一样自动拆词查询并集(除非手动空格隔开)
全文检索模糊查询和LIKE模糊查询的对比:
- 全文检索模糊查询使用全文索引来提高搜索效率,可以快速查询大数据量中的模糊匹配结果。而LIKE模糊查询则需要对每个记录进行全表扫描,效率较低,不适用于大数据量的查询。
- 全文检索模糊查询支持布尔操作符(如AND、OR、NOT)和通配符(如*)来扩展查询范围,可以更精确地匹配查询条件。而LIKE模糊查询只支持%通配符,无法进行布尔操作。
- 全文检索模糊查询需要建立全文索引,占用一定的存储空间,但可以提高查询效率。而LIKE模糊查询不需要建立索引,但是会影响查询效率。