http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 12800|回复: 0

[Elasticsearch] Elasticsearch-排序(一)字段值排序

[复制链接]
发表于 2021-6-23 17:46:12 | 显示全部楼层 |阅读模式
在 Elasticsearch 中,默认排序是 _score 降序, 即相关性排序, 相关性得分 由一个浮点数进行表示,并在搜索结果中通过 _score 参数返回

然而, 在实际应用中,相关性评分对我们来说并没有意义, 查询的接口需要做字段值进行排序,有根据时间倒叙的, id正序的, 以及组合排序等

本次我们主要说下在Elasticsearch中,根据字段值进行排序, 在Elasticsearch中, 排序使用 sort, 后面跟一个排序的数组

实例如下:
[C#] 纯文本查看 复制代码
{
	"query":{
		"bool":{
			"must":{ "match_phrase": { "jingyingfanwei": "餐饮服务" }}
		}
	},
	"sort":[
		{"ismobile":"desc"},
		{"edittime":"desc"}
	]
}



本次查询是根据字段 ismobile倒序, 以及edittime倒序, 相当于sql的 order by ismobile desc, edittime desc

根据字段值进行排序时, _score 不被计算, 因为它并没有用于排序

排序条件的顺序是很重要的。
结果首先按第一个条件排序,仅当结果集的第一个 sort 值完全相同时才会按照第二个条件进行排序,以此类推。

多级排序并不一定包含 _score 。我们可以根据一些不同的字段进行排序,如地理距离或是脚本计算的特定值。




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-18 22:42

© 2014-2021

快速回复 返回顶部 返回列表