mysql 多字段多关键词根据匹配度排序查找,2千万数据。如何优化sql

lyq027 lyq027 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一个商品表goods,大概2千万条数据
goods中有字段shop_name和goods_name
现在有个需求,用户输入搜索关键字进行查找,需要按关键字的相关性或匹配度排序
现在关键字用了hanlp的中文分词进行处理,然后进行查找。
比如:小浣熊婴儿爽身粉 分词处理后为:小浣熊 爽身粉 婴儿
关键词不固定,以用户输入进行分词

现在的sql语句为
select * from goods where concat(shop_name,goods_name) regexp '小浣熊|爽身粉|婴儿'

需要的是:商品标题同时匹配关键字高的在前面,店铺名中包含关键词的也排在前面。这需要如何写sql呢
...全文

相关推荐

MySQL中Order By多字段排序规则代码示例

主要介绍了MySQL中Order By多字段排序规则代码示例,小编觉得挺不错的,这里给大家分享下,需要的朋友可以参考。

weixin_38556416

SQL-ORDER BY 多字段排序(升序、降序)

ORDER BY _column1, _column2; /* _column1升序,_column2升序 */ ORDER BY _column1, _column2 DESC; /* _column1升序,_column2降序 */ ORDER BY _column1 DESC, _column2 ; /* _column1降序,_column2升序 */ ORDER BY _column1 DESC, _column2 DESC; /* _column1降序,_column2降序 */ 您可能感兴趣的文章:SQL Server 排序

weixin_38738422

mysql实现根据多个字段查找和置顶功能

mysql根据多个字段查找 在mysql中,如果要实现根据某个字段排序的时候,可以使用下面的SQL语句 SELECT * FROM ‘TABLE_NAME’ ORDER BY ‘Field’ 然而,如果要实现根据某个字段排序后再根据另一个字段排序的时候应该如何呢?可以使用下面的SQL语句 SELECT * FROM ‘TABLE_NAME’ ORDER BY FIELD1, FIELD2; 如果要加上排序的话 SELECT * FROM ‘TABLE_NAME; ORDER BY FIELD1 DESC, FIELD2; 置顶功能的实现 下面给一个对两个字段实现排序的例子 相信大家都见过BBS

weixin_38569515

MySQL千万级大数据SQL查询优化知识点总结

在本篇文章里小编给大家整理的是一篇关于MySQL千万级大数据SQL查询优化知识点总结内容,有需要的朋友们可以学习参考下。

weixin_38657102

MySQL多字段排序优化[项目源码]

本文深入分析了MySQL 5.7中多字段排序的性能瓶颈,特别是降序排序(DESC)导致的filesort问题,解释了其根本原因在于MySQL 5.7及之前版本不支持真正的降序索引,索引创建时ASC和DESC会被忽略,导致排序方向与索引不一致时性能下降。文章重点介绍了MySQL 8.0引入的降序索引机制,通过实验对比展示了其在多字段排序场景下的性能提升,并提供了优化策略,包括根据查询模式设计索引、避免混合排序方向、使用覆盖索引等。最后总结了MySQL 5.7的问题和MySQL 8.0的改进,为开发者提供了实用的优化建议。

蜜糖Py小兔
评论 6
收藏 已收藏
分享
返回顶部
lyq027
MySQL 57,062 成员 56,759 内容