我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

最近项目遇到根据关键字匹配度排序,要求关键字匹配相等排在第一,关键字匹配最左边排第二,关键字匹配最右边排第三,关键字匹配中间排最后;遇到这样查询排序场景,用MySQL如何实现?用搜索引擎Elasticsearch如何实现?方法一:按照上面需求用联合查询,可以实
如何根据关键字匹配度排序
2018-07-22

PHP 中如何根据数组键名长度进行排序,保留键名?

通过 uksort() 函数和自定义比较函数 comparekeylengths,可以根据数组键名长度对 php 数组进行排序,同时保留键名。比较函数计算键名长度差并返回一个整数,uksort() 根据该整数排序数组。此外,实战案例演示了如
PHP 中如何根据数组键名长度进行排序,保留键名?
2024-05-02

oracle如何根据指定字段顺序排序

要根据指定字段顺序对查询结果进行排序,可以使用ORDER BY子句。在Oracle中,可以使用以下语法来根据指定字段顺序排序:SELECT column1, column2, ...FROM table_nameORDER BY co
oracle如何根据指定字段顺序排序
2024-04-30

PHP中怎么利用Ksort()函数根据关键字对数组进行排序

今天就跟大家聊聊有关PHP中怎么利用Ksort()函数根据关键字对数组进行排序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体代码如下:
2023-06-17

php二维数组如何根据某个字段排序

在PHP中,可以使用usort()函数对二维数组根据某个字段进行排序。假设有以下二维数组:```php$users = array(array('name' => 'John', 'age' => 25),array('name' => '
2023-09-11

Ajax如何实现模拟关键字智能匹配搜索效果

小编给大家分享一下Ajax如何实现模拟关键字智能匹配搜索效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!准备数据keyword.json:(这里只贴出部分数据)
2023-06-08

oracle如何根据字段分组排序取其第一条数据

这篇文章主要介绍“oracle如何根据字段分组排序取其第一条数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“oracle如何根据字段分组排序取其第一条数据”文章能帮助大家解决问题。以某个字段分组
2023-07-05

如何使用 PHP 根据数组中某个具体键值对进行排序,保留原始键名?

使用php uasort 函数,并提供比较函数,即可根据数组中具体键值对对数组进行排序,同时保留原始键名。具体步骤如下:定义比较函数,接受两个键值对作为参数,并返回整数;调用 uasort 函数,传入要排序的数组和比较函数;排序后的数组将保
如何使用 PHP 根据数组中某个具体键值对进行排序,保留原始键名?
2024-04-30

编程热搜

目录