当前位置:首页 > 技术分享

MYSQL搜索排序:根据搜索匹配的权重进行从高到低排序

admin1年前 (2025-01-06)技术分享1029

-1-like

select (if(LOCATE('tomcat',notetitle),1,0)+ if(LOCATE('nginx',notetitle),1,0)+if(LOCATE('linux',notetitle),1,0)) 

as score,notetitle from technicalnote 

where notetitle like'%tomcat%' or notetitle like '%nginx%' or notetitle like '%linux%' order by score desc


-2- 全文索引

SELECT id, title, content, MATCH(title, content) AGAINST('MySQL' IN NATURAL LANGUAGE MODE) AS relevance FROM articlesWHERE MATCH(title, content) AGAINST('MySQL' IN NATURAL LANGUAGE MODE)ORDER BY relevance DESC;

在这个查询中,我们在 title 和 content 列中查找与关键词 “MySQL” 相关的文章,并按照相关性排序。

  • +:表示该 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

  • " :表示短语

详细实例:https://www.jb51.net/database/327038p30.htm

扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/638.html

标签: mysql
分享给朋友:

“MYSQL搜索排序:根据搜索匹配的权重进行从高到低排序” 的相关文章

php高效检测远程图片是否存在

php高效检测远程图片是否存在function img_exits($url){     $ch = curl_init();    &…

input search更改默认删除按钮的样式

改input输入框search属性下输入文字之后会在输入框最后出现一个默认样式的X不过这个样式不太好看想自定义怎么办呢方法一input[type="search"]::-webkit-search-cancel-butt…

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版:Windows 10X是Windows 10操作系统的新版本,主要针对双屏电脑。由于即将运行Windows 10X的双屏电脑(例如即将面世的Surface Neo)的开发遇到挫折,…

2021可用的百度网盘高速下载方法分享

2021可用的百度网盘高速下载方法分享

最新可用方法https://blog.bitefu.net/post/163.html方法很简单就是利用网盘直链下载助手【网盘直链下载助手】是一款免费开源获取网盘文件真实下载地址的油猴脚本,基于PCSAPI,支持Windows,Mac,Li…

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有…

在CentOS 5.x 6.x里使用yum源 换阿里云国内源换vault.centos.org源

阿里云CentOS 5 的系统,无法用yum来安装应用软件。  原因:CentOS 5 在2017-03-31日已经结束支持,不再提供维护更新,所以包括阿里云镜像站的文件可能都是过时或已经有部分文件缺失。 &n…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。