1. MySQL模糊查询再也用不着 like+% 了!
https://mp.weixin.qq.com/s?__biz=MzI1MDQwMDE3MQ==&mid=2247497103&idx=1&sn=8403a876df526d7935342cb7210eab66&chksm=e980694bdef7e05dce6a2759e9c31a53f30ad41c7b18fe383594790b4d8516dba4b54288ce98&mpshare=1&scene=1&srcid=0324Ko0HlF1Xzz2wLJuUBCZS&sharer_sharetime=1648088430315&sharer_shareid=50144fd917fd1dbba0f9c23e954fd64a&version=4.0.2.6061&platform=win#rd
总结
添加全文索引:
CREATE FULLTEXT INDEX full_index_name ON table_name(col_name);
搜索:
SELECT * FROM table_name where MATCH (coloum_name) AGAINST ('key')
+
:表示该 word 必须存在-
:表示该 word 必须不存在(no operator)
表示该 word 是可选的,但是如果出现,其相关性会更高@distance
表示查询的多个单词之间的距离是否在 distance 之内,distance 的单位是字节,这种全文检索的查询也称为 Proximity Search,如 MATCH(context) AGAINST('"Pease hot"@30' IN BOOLEAN MODE)
语句表示字符串 Pease 和 hot 之间的距离需在30字节内>
:表示出现该单词时增加相关性<
:表示出现该单词时降低相关性~
:表示允许出现该单词,但出现时相关性为负*
:表示以该单词开头的单词,如 lik*,表示可以是 lik,like,likes"
:表示短语