MySQL模糊查询再也用不着 like+% 了

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
  • " :表示短语
posted @ 2022-03-25 10:24  潇宸1998  阅读(134)  评论(0编辑  收藏  举报