统计aggregate子句__搜索子句介绍_API参考手册_开放搜索-阿里云
子句说明
一个关键词查询后可能会找到数以万计的文档,用户不太可能浏览所有的文档来获取自己需要的信息,有些情况下用户感兴趣的可能是一些统计的信息。
语法说明
统计子句格式为:group_key:field, range:number1~number2, agg_fun:func1#func2, max_group:number2, agg_filter:filter_clause, max_group:number
- group_key:必选参数。field为要进行统计的字段名,必须配置属性字段,目前支持int类及literal类型的字段做统计。
- agg_fun:必选参数。func可以为count()、sum(id)、max(id)、min(id)四种系统函数,含义分别为:文档个数、对id字段求和、取id字段最大值、取id字段最小值;支持同时进行多个函数的统计,中间用英文井号(#)分隔;sum、max、min的内容支持基本的算术运算;
- range:表示分段统计,可用于分布统计,只支持单个range参数。表示number1~number2及大于number2的区间情况。不支持string类型的字段分布统计。
- agg_filter:非必须参数,表示仅统计满足特定条件的文档;
- agg_sampler_threshold:非必须参数,抽样统计的阈值。表示该值之前的文档会依次统计,该值之后的文档会进行抽样统计;
- agg_sampler_step:非必须参数,抽样统计的步长。表示从agg_sampler_threshold后的文档将间隔agg_sampler_step个文档统计一次。对于sum和count类型的统计会把阈值后的抽样统计结果最后乘以步长进行估算,估算的结果再加上阈值前的统计结果就是最后的统计结果。
- max_group:最大返回组数,默认为1000。
注意事项
- aggregate为非必选子句;
- 在aggregate中出现的字段必须在定义应用结构的时候配置为属性字段;
- aggregate结果会在搜索节点facet节点中展示出来,具体值字段名为agg_fun的名字,如sum、count等
- aggregate支持多个key的统计,多个统计中间用英文分号(;)分隔。
示例
搜索包含“浙大”的文档,并按照group_id字段进行统计,统计维度包含对price字段进行求和及计算最大值;并对company_id进行统计个数:
query=default:'浙大'&&aggregate=group_key:group_id,agg_fun:sum(price)#max(price);group_key:company_id,agg_fun:count()
返回结果为:
{
status: "OK",
result: {
searchtime: 0.015634,
total: 5,
num: 1,
viewtotal: 5,
items: [ //具体搜索结果
{ ... }
],
facet: [
{
key: "group_id",
items: [
{
value: 43,
sum: 81,
max: 20,
},
{
value: 63,
sum: 91,
max: 50,
},
],
},
{
key: "company_id",
items: [
{
value: 13,
count: 4,
},
{
value: 10,
count: 1,
},
],
},
],
},
errors: [ ],
tracer: "",
},
搜索包含“浙大”的文档,并按照group_id字段进行统计,统计维度包含对price字段进行求和。其中10000以后的文档进行抽样,步长为5:
query=default:'浙大'&&aggregate=group_key:group_id,agg_fun:sum(price), agg_sampler_threshold:10000, agg_sampler_step:5
搜索包含“浙大”的文档,并按照group_id字段进行统计个数,统计维度为小于10、10~50、及大于50的文档数;
query=default:'浙大'&&aggregate=group_key:group_id,agg_fun:count(),range:10~50
搜索包含“浙大”的文档,并按照group_id字段进行统计hits及replies的和的最大值,仅统计create_timestamp大于1423456781的文档;
query=default:'浙大'&&aggregate=group_key:group_id,agg_fun:max(hits+replies),agg_filter:create_timestamp>1423456781
最后更新:2016-11-23 16:04:03
上一篇:
排序sort子句__搜索子句介绍_API参考手册_开放搜索-阿里云
下一篇:
聚合distinct子句__搜索子句介绍_API参考手册_开放搜索-阿里云
功能与限制__快速入门_云数据库 HybridDB-阿里云
Spark + MNS__Spark_开发人员指南_E-MapReduce-阿里云
任务实例__基本概念_基本介绍_大数据计算服务-阿里云
动作列表__RAM子用户访问_API-Reference_日志服务-阿里云
Python SDK__SDK_大数据计算服务-阿里云
专有网络中跨可用区部署资源__最佳实践_用户指南_专有网络 VPC-阿里云
下载、安装阿里云新版Java SDK__SDK 参考_云服务器 ECS-阿里云
步骤 1:配置选型__快速入门(Linux)_云服务器 ECS-阿里云
查询API列表__API管理相关接口_API_API 网关-阿里云
事务说明__用户指南_云数据库 PetaData-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云