Fulltext
文章目录
全文索引
原本是想利用全文索引解决简单的查询优化,但使用了之后发现一些问题。
配置问题
全文索引都会涉及到一个最小分词长度长度的配置;
|
|
如果都设置为2以及大于2,那么只有1个字符的模糊处理如何做?设为1,分词会使数据量太多?
sql问题
默认的创建全文索引
|
|
含有中文的分词引擎需要使用ngram
|
|
在常见情况下都是用户对一些字段输入一个搜索值进行联合查询,例如名字是多少,用户名是多少,反应sql上就会是
|
|
不用自然语言模式(IN NATURAL LANGUAGE MODE)而是布尔模式(in boolean mode)
但是匹配的结果并不是预想的类似模糊匹配的效果
匹配的是只含有wx的结果,但是like模糊结果时是
因此全文索引返回的到底是一个什么结果?
查看5.7的官方文档https://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html
提到在自然语言模式会受到一些停用词影响,但在布尔模式中不会受影响,但其结果仍然与like相差甚远
文章作者 cr6588
上次更新 2022-05-25 (3a6453f)