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

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

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

-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搜索排序:根据搜索匹配的权重进行从高到低排序” 的相关文章

节假日api 开源版 解密

介绍免费节假日API 开源了,可以离线调用, 可以集成到自己系统中开源地址https://gitee.com/web/holidays_api开源说明注:原百度节假日API即为本人提供,后百度apistore禁止个人开发者所以才有此独立接口…

PHP和Redis实现在高并发下的抢购及秒杀功能

抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题:一、高并发对数据库产生的压力二、竞争状态下如何解决库存的正确减少("…

Nginx服务崩溃自动重启脚本(监控进程服务并自动重启进程服务)脚本

有一台服务器运行着Ngin最近突然有一次崩溃,导致使用方当天无法访问网页端,然后我不得不登录服务器,检查各项服务,发现nginx崩溃了,于是重启Nginx,问题解决。后来为了防止Nginx再发生这种情况给运维带来的运维成本,于是写了一个脚本…

七牛html js上传带进度条源码

七牛html js上传带进度条源码注册链接https://s.qiniu.com/uM7RJv完整代码下载:https://n802.com/f/349707-489018989-c141f6(访问密码:5036)http://www.yi…

Windows 11 LTSC 数字激活方法/HEU KMS Activator 数字激活/LTSC公key激活

Windows 11 LTSC 数字激活方法/HEU KMS Activator 数字激活/LTSC公key激活

Windows 11 Pro 转换成 Windows 11 Enterprise LTSC(Windows 11 企业版 LTSC) 并获得数字激 活方法1. 在Win11 Pro 中 导入LTSC 数字激 活证书:将 Windows LT…

Windows下SVN自动更新

Windows下SVN自动更新

1、创建post-commit.bat文件,放到C:\Repositories\pms\hooks文件夹下(注意不要先创建txt文件然后改后缀,pms为代码目录名),内容如下:@echo off "C:\Tortois…

发表评论

访客

看不清,换一张

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