237
阿里云
排序sort子句__搜索子句介绍_API参考手册_开放搜索-阿里云
子句说明
用户可以通过查询语句控制结果的排序方式,包括指定排序的字段和升降序。
语法说明
排序子句格式为:+field1;-field2
- field为要排序的字段,+为按字段值升序排序,-为降序排序;
- field也支持简单的算术运算,如+、-、*、等,但参与运算的字段类型必须一致;
- 支持多维排序,中间用分号(;)分隔;多维排序的含义为,先按照第一维分数排序,如果第一维分数一样,再按照第二维分数进行档内排序,以此类推。
- field部分也可以为“RANK”,表示按照相关性(即排序表达式的计算分值)进行排序。
注意事项
- sort为非必选子句。如果不填,则默认为sort=-RANK(按照相关性分值降序返回结果);如果显式使用了sort子句,且子句中不包含RANK,那么定义了排序表达式也不会起作用;
- 在sort中出现的字段必须在定义应用结构的时候勾选“可过滤”;
- 返回为int或者float类型的排序特征function函数也可以在sort子句中使用;
- string类型的字段按照字典序进行排列;
- 大部分场景下array类型字段均不支持。
示例
查找应用中包含“浙大”的文档,并按照type进行升序排序,如果type相同,则按照文本相关性进行排序:
query=default:'浙大'&&sort=+type;-RANK //精排表达式可以为text_relevance(fileld)
查找应用中包含“浙大”的文档,并按照hits(点击)和comments(评论数)总和降序排序:
query=default:'浙大'&&sort=-(hits+comments)
文档中包含“外婆家”的商家(文档),并且按照用户(120.34256,30.56982)距离商家(lon, lat)的距离进行由近及远的排序:
query=default:'外婆家'&&sort=+distance(lon,lat,"120.34256","30.56982")
最后更新:2016-11-23 16:04:03
上一篇:
过滤filter子句__搜索子句介绍_API参考手册_开放搜索-阿里云
下一篇:
统计aggregate子句__搜索子句介绍_API参考手册_开放搜索-阿里云
步骤 1:购买 Linux 实例__搭建 WordPress 网站_建站教程_云服务器 ECS-阿里云
规格总览__产品介绍_云数据库 HybridDB-阿里云
为什么压测性能低__负载均衡性能常见问题_常见问题_负载均衡-阿里云
服务列表__集群_用户指南_E-MapReduce-阿里云
设置透明数据加密__安全管理_用户指南_云数据库 RDS 版-阿里云
设置集群根域名__集群管理_用户指南_容器服务-阿里云
教程__Java-SDK_SDK手册_移动安全-阿里云
路由器接口__用户指南_高速通道-阿里云
StageInfo__数据类型_API_API 网关-阿里云
如何添加成员__平台介绍_数加平台介绍-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云