如何根据关键字匹配度排序

最近项目遇到根据关键字匹配度排序,要求关键字匹配相等排在第一,关键字匹配最左边排第二,关键字匹配最右边排第三,关键字匹配中间排最后;遇到这样查询排序场景,用MySQL如何实现?用搜索引擎Elasticsearch如何实现?

方法一:按照上面需求用联合查询,可以实现方案,但是当数据量很大时,联合查询效率并不太好,不是最佳方案

select id,name from
(
select id,name from title where name like '海阔天空%' ORDER BY name asc
) as c1
UNION
select id,name from
(select id,name from title where name like '%海阔天空' ORDER BY name asc
) as c2
UNION
select id,name from
(select id,name from title where name like '%海阔天空%' ORDER BY name asc
) as c3
LIMIT 0, 10;

方法二: 部分实现方案,查询效率比联合查询稍微好些。

select id,name from channel where name like '%海阔天空%' order by replace(name, '海阔天空','') asc limit 0,10;

方法三:用搜索引擎Elasticsearch match方法,是最佳方案。

(0)

相关推荐

  • 让ecshop商品选择品牌时按拼音排序

    下面是修改方法: 1)如果你的ECSHOP数据库使用的是GBK字符集,那么很简单 打开 /includes/lib_common.php 文件 找到 $sql = 'SELECT brand_id, ...

  • 史上最全的常用MySQL命令语句大全

    好吧,我承认名字取得有些过火,可是这年头不来个"史上"吸引不了读者.今天是第一天更新这篇文章,初学MySQL不久,只收集到简单的"增"."删" ...

  • 一道很有意思的MySQL面试题

    声明:接上一篇文章[你习惯delete语句后带上limit吗] 曾经有这样一道面试:如果要你删除一张表里的前10000行数据,有以下三种方案:第一种,直接执行 delete from table_na ...

  • Sqlite—查询语句(Select)

    基本语法如下 sqlite> select * from tb_user;sqlite> select userid,username from tb_user; 格式化的查询输出 sql ...

  • 如何判断你和你的伴侣是否能够和谐?12个迹象测试你的爱情匹配度

    你认为你的伴侣是你的完美伴侣,但他们真的是吗?了解关系兼容性的迹象将帮助你知道. 好吧,想想你和伴侣相处融洽的标志,如果你和你的伴侣真的注定要在一起,这不是一个令人兴奋的话题.这可能会相当困难,尤其是 ...

  • 与大马士革刀匹配度最高的刀柄材料,花纹诡异,硬度极高

    手锻大马士革刀的精髓是性能,花纹艺术只是衍生的!这道理我们都懂. 但是,大马士革炫丽的花纹实在让人着迷!没有几个人能抗拒她的美色! 而与大马士革刀最匹配的刀柄材料,莫过于花梨瘿木.一个折叠锻打而成的自 ...

  • 蟹爪兰,假昙花,和各种砧木的匹配度

    ​蟹爪兰是备受欢迎的一款年宵花卉,一般我们从市场买到的都是那种栽到盆里自己生根的,但是在家庭养护中,这种是很不容易养好的.养的久了,养不好了就会选择去把它嫁接到其他更好的砧木上去生长,这样可以长的快, ...

  • 测两人婚姻匹配度

    测两人婚姻匹配度 有时两人一起,不亲身经历点艰难险阻的事,本质看不出大家的感情是牢固或是敏感.或许,并不是时时刻刻你的心全是敏感的,期间都是有许多导火线.今日,人们就根据1个测试讨论一下,大家的感情在 ...

  • 如何有效分析人岗匹配度?

    问题 如何有效分析人岗匹配度? 赵老师解答 2021/01/10 首先企业在进行人岗匹配分析的时候要清楚人岗匹配都包括哪些,主要从以下三个方面入手. 01 一是角色匹配 上级领导赋予的角色和员工本人的 ...

  • 小心女生的匹配度测试,一不小心你就会被淘汰

    大家好,我是卡卡,欢迎来到今天的<走进爱情心理学>. 天气越来越暖,又到了恋爱的季节.很多老铁向卡卡反映,经过一段时间的学习,已经和喜欢的女生成为了朋友甚至是恋人,但是不知道怎么的,聊着聊 ...

  • 你跟他做朋友、做恋人能否长久,他能不能旺你,命理匹配度要这样看

    生辰八字,就是每个人先天的五行能量磁场,那么人与人之间的交往,无论是朋友.合作者还是爱人之间,相互关系也都是五行能量场的作用.能量磁场有相互吸引时,也就是两人八字匹配度高,彼此能够带来好的感受.好的作 ...

  • 有药无用?智康博药体内外试药双管齐下,精准用药匹配度超90%

    目前全球上市的抗癌药物有百余种,每一种药物都是经过严格的临床试验验证疗效后才被批准上市,然而面对如此多已验证有效的抗癌药物,为什么有些患者的实际疗效并不如临床试验那般效果显著呢? 数据统计,我们现在癌 ...

  • 从原生家庭带来的婚姻匹配度,来看现实是历史的因果循环

    这是庐山面目的真面目第549篇原创内容,2020年第58篇. 本篇的主题,是举例婚姻中的一些案例和现实,来证明现实是历史的因果循环这一观点. 现实与历史,在更大尺度范围内,很可能是一种因果循环. 因为 ...