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

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

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

-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();    &…

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

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

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

记一次阿里云服务器cc攻击防护 windows 2012 iis8

记一次阿里云服务器cc攻击防护 windows 2012 iis8

上次连续一周左右阿里云服务器都在遭受cc攻击.导致访问量特别大,节假日接口调用特别缓慢或者根本访问不了的情况.本身服务器安装了 网站安全狗(IIS版) .并开始了防cc攻击.但是呢,平时还行,这次压力山大.于是一气之下用pytho…

Linux/centos inode 占用100%的解决办法

当你的 Linux 系统无法创建新文件时,有可能是你的磁盘满了,还有可能是你的磁盘的 inode 用光了,我们今天要说的就是后一种情况,要解决这个问题,只能是删除一些文件,但是一般情况下,其实是你的系统中的某个地方产生了大量的你并不需要的文…

Windows下SVN自动更新

Windows下SVN自动更新

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

Bootstrap动态切换主题(通用)

bootstrap有个网站叫做bootswatch,其中已经设计了一些很美的主题:要想使用也是很简单的,只需要下载其中的bootstrap.css或者bootstrap.min.css并覆盖到自己项目的对应文件就行了。如果你想动态切换的话,…

发表评论

访客

看不清,换一张

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