如何根据关键字匹配度排序「建议收藏」

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

最近项目遇到根据关键字匹配度排序,要求关键字匹配相等排在第一,关键字匹配最左边排第二,关键字匹配最右边排第三,关键字匹配中间排最后;遇到这样查询排序场景,用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方法,是最佳方案。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10603.html

(0)
上一篇 2022-12-24
下一篇 2022-12-24

相关推荐

  • [离线计算-Spark|Hive] HDFS小文件处理[亲测有效]

    [离线计算-Spark|Hive] HDFS小文件处理[亲测有效]本文主要介绍小文件的处理方法思路,以及通过阅读源码和相关资料学习hudi 如何在写入时智能的处理小文件问题新思路.Hudi利用spark 自定义分区的机制优化记录分配到不同文件的能力,达到小文件的合并

    2023-05-05
    162
  • Python:简洁、高效、多功能的编程语言

    Python:简洁、高效、多功能的编程语言Python是一种高级编程语言,具有简约、高效、易用等优良特性,因其在Web应用、数据挖掘、人工智能、自动化测试等领域的应用愈发广泛。本文将从多个方面详细探讨Python语言,包括语言特点、常用库、应用场景等,为读者全面地介绍Python。

    2023-12-22
    112
  • PostgreSQL源码学习–更新数据#1,2

    PostgreSQL源码学习–更新数据#1,2本节介绍heapam_tuple_update和table_tuple_update函数。 heapam_tuple_update函数 //src/backend/access/heap/heapa…

    2023-03-10
    144
  • 如何在mac上升级Python

    如何在mac上升级Python随着Python的升级和更新,我们需要不断地升级我们使用的Python版本。虽然macOS自带Python,但是通常使用的版本较老,可能不能满足最新的需求,因此这篇文章将介绍如何在macOS上升级Python。

    2024-09-21
    12
  • Redis学习笔记(十一) 服务器

    Redis学习笔记(十一) 服务器Redis服务器负责与多个客户端建立网络通信,处理客户端发送的命令请求,在数据库中保存客户端执行命令所产生的数据,并通过资源管理来维持服务器自身的运转。 命令请求过程(以set命令为例) 1、客户端向

    2023-03-01
    150
  • MySQL中MVCC的正确打开方式[通俗易懂]

    MySQL中MVCC的正确打开方式[通俗易懂]最近在学习MySQL中的MVCC,看了网上的各种版本,什么创建版本号、删除版本号,一开始看的时候,好像很对的样子,但实际上很多都是错误的。经过好几天的查阅对比,在几篇博客的帮助下,才算是觉得正确理解…

    2023-03-10
    129
  • mysql索引设置怎么实现的_索引有两种基本类型

    mysql索引设置怎么实现的_索引有两种基本类型 1.注意事项 1.创建索引时会将数据重新进行排序 2.创建索引会占用磁盘空间,所以索引不是越多越好 3.在同一列上避免创建多种索引 4.避免在数据很长的字段上创建索引,如果要创建就创建前缀索…

    2023-03-22
    145
  • [学习笔记] Oracle集合运算、内连接、外连接、伪列「建议收藏」

    [学习笔记] Oracle集合运算、内连接、外连接、伪列「建议收藏」集合运算 INTERSECT(交集),返回两个查询共有的记录。 UNION ALL(并集重复),返回各个查询的所有记录,包括重复记录。 UNION(并集不重复),返回各个查询的所有记录,不包括重复记录

    2023-02-06
    160

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注