8.3Solr API使用(StatsComponent聚合统计)
转载请出自出处:http://eksliang.iteye.com/blog/2169134
一、概述
Solr可以利用StatsComponent 实现数据库的聚合统计查询,也就是min、max、avg、count、sum的功能
二、参数
|
参数 |
含义 |
|
stats |
是否开启stats(true/false) |
|
stats.field |
添加一个字段来统计,可以有多个 |
|
stats.facet |
在给定的面返回值的子结果。 |
三、参考实例
参考实例一:查询参数
q=*:*
&stats=true
&stats.field=price
&stats.field=popularity
&rows=0
返回结果如下:
<lst name="stats">
<lst name="stats_fields">
<lst name="price">
<double name="min">0.0</double> --最小值
<double name="max">2199.0</double> --最大值
<double name="sum">5251.2699999999995</double> --总和
<long name="count">15</long> --记录数,也就是多少行记录
<long name="missing">11</long> --结果集中,有多少条记录是空值
<double name="sumOfSquares">6038619.160300001</double> --平方和(x1^2 + x2^2+xn^2)
<double name="mean">350.08466666666664</double> --平均数(x1+x2+xn)/n
<double name="stddev">547.737557906113</double> --标准差
</lst>
<lst name="popularity">
<double name="min">0.0</double>
<double name="max">10.0</double>
<double name="sum">90.0</double>
<long name="count">26</long>
<long name="missing">0</long>
<double name="sumOfSquares">628.0</double>
<double name="mean">3.4615384615384617</double>
<double name="stddev">3.5578731762756157</double>
</lst>
</lst>
</lst>
参数含义如下:
|
返回字段 |
字段含义 |
|
min |
最小值 |
|
max |
最大值 |
|
sum |
总和 |
|
count |
记录数,也就是多少行记录 |
|
missing |
结果集中,有多少条记录是空值 |
|
sumOfSquares |
平方和(x1^2 + x2^2+xn^2) |
|
mean |
平均数(x1+x2+xn)/n |
|
stddev |
标准差 |
参考实例二:查询参数如下
q=*:*
&stats=true
&stats.field=price
&stats.field=popularity
&stats.facet=inStock
&rows=0
返回结果如下所示:
<lst name="stats">
<lst name="stats_fields">
<lst name="price">
<double name="min">0.0</double>
<double name="max">2199.0</double>
<double name="sum">5251.2699999999995</double>
<long name="count">15</long>
<long name="missing">11</long>
<double name="sumOfSquares">6038619.160300001</double>
<double name="mean">350.08466666666664</double>
<double name="stddev">547.737557906113</double>
<lst name="facets">
<lst name="inStock">
<lst name="false"> --统计的是:在返回结果中inStock等于false部分,price的统计
<double name="min">11.5</double> --在inStock等于false的记录中pirce的最小值
<double name="max">649.99</double> --在inStock等于false的记录中pirce的最大值
<double name="sum">1161.39</double>--在inStock等于false的记录中pirce的总和
<long name="count">4</long> --inStock等于false的记录数
<long name="missing">0</long> --在inStock等于false的记录中pirce等于空的记录
<double name="sumOfSquares">653369.2551</double>--在inStock等于false的记录中pirce的平方和
<double name="mean">290.3475</double>--在inStock等于false的记录中pirce的平均值
<double name="stddev">324.63444676281654</double>--在inStock等于false的记录中pirce的标准差
</lst>
<lst name="true">
<double name="min">0.0</double>
<double name="max">2199.0</double>
<double name="sum">4089.879999999999</double>
<long name="count">11</long>
<long name="missing">0</long>
<double name="sumOfSquares">5385249.905200001</double>
<double name="mean">371.8072727272727</double>
<double name="stddev">621.6592938755265</double>
</lst>
</lst>
</lst>
</lst>
</lst>
温馨提示:如果统计的列不是数字类型。而是字符串,那么统计的结果中只有如下列
参考实例如下:查询参数
q=*:*
&stats=true
&stats.field=CAR_NUM
&rows=0
返回结果如下所示:
<lst name="stats">
<lst name="stats_fields">
<lst name="CAR_NUM">
<str name="min">08449</str>
<str name="max">黑ZZ6T8警</str>
<long name="count">9999999</long>
<long name="missing">0</long>
<lst name="facets"/>
</lst>
</lst>
</lst>
官方API地址:http://wiki.apache.org/solr/StatsComponent
8.3Solr API使用(StatsComponent聚合统计)的更多相关文章
- 关于MongoDB时间格式转换和时间段聚合统计的用法总结
一 . 背景需求 在日常的业务需求中,我们往往会根据时间段来统计数据.例如,统计每小时的下单量:每天的库存变化,这类信息数据对运营管理很重要. 这类数据统计依赖于各个时间维度,年月日.时分秒都有可能. ...
- Solr.NET快速入门(五)【聚合统计,分组查询】
聚合统计 属性 说明 Min 最小值 Max 最大值 Sum 总和 Count 记录数,也就是多少行记录 Missing 结果集中,有多少条记录是空值 SumOfSquares 平方和(x1^2 + ...
- MongoDB 中聚合统计计算--$SUM表达式
我们一般通过表达式$sum来计算总和.因为MongoDB的文档有数组字段,所以可以简单的将计算总和分成两种:1,统计符合条件的所有文档的某个字段的总和:2,统计每个文档的数组字段里面的各个数据值的和. ...
- 用logstash 作数据的聚合统计
用logstash 作数据的聚合统计 以spark-streaming 处理消费数据,统计日志经spark sql存储在mysql中 日志写入方式为append val wordsDataFrame ...
- Elasticsearch 第六篇:聚合统计查询
h2.post_title { background-color: rgba(43, 102, 149, 1); color: rgba(255, 255, 255, 1); font-size: 1 ...
- 小试牛刀ElasticSearch大数据聚合统计
ElasticSearch相信有不少朋友都了解,即使没有了解过它那相信对ELK也有所认识E即是ElasticSearch.ElasticSearch最开始更多用于检索,作为一搜索的集群产品简单易用绝对 ...
- pandas:聚合统计、数据分箱、分组可视化
1.聚合统计 1.1描述统计 #df.describe(),对数据的总体特征进行描述 df.groupby('team').describe() df.groupby('team').describe ...
- 百度地图API 重新生成点聚合的功能
百度点聚合用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能. http://api.map.baidu.com/library/MarkerClusterer/1.2/docs/symbo ...
- Elasticsearch--Aggregation详细总结(聚合统计)
Elasticsearch的Aggregation功能也异常强悍. Aggregation共分为三种:Metric Aggregations.Bucket Aggregations. Pipeline ...
随机推荐
- 一个div中有一个a标签,点击a标签的时候不进入div的点击事件
//阻止冒泡上层clickevent.stopPropagation();
- SQL server Profiler 监视数据库活动
做网站后台开始时需要考虑后台对数据库的一些操作,比如尽量减少查询次数,尽快释放连接,只选取必须的字段等等.如果是用三层开发,复杂的项目中直接拼装SQL语句多一点,拼装的SQL语句可以直接在SQL se ...
- list泛型转换成datatable
public DataTable ListToDataTable<T>(List<T> list) { DataTable dt = new DataTable("C ...
- mybatis-generator-maven逆向工程
在idea 中使用 mybatis的 mybatis-generator-maven-plugin 可以根据数据库 生成 dao层,pojo类,Mapper文件. 一: 在 pom.xml ...
- Donsen法则
“专才”对越来越少的事物了解得越来越多,直到最后他对不存在的事物无所不知: 然而,“通才”对越来越多的事物了解得越来越少,直到他对一切事物一无所知.
- 华中农业大学第五届程序设计大赛网络同步赛-L
L.Happiness Chicken brother is very happy today, because he attained N pieces of biscuits whose tast ...
- python学习之老男孩python全栈第九期_day009作业
1. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 答: l1 = [] def odd(li): for i in range(1,len(li),2 ...
- 百度智能小程序弹窗组件wcPop|智能小程序自定义model弹窗模板
百度智能小程序自定义弹窗组件wcPop|百度小程序model对话框|智能小程序弹窗界面模板 最近百度也推出了自己的智能小程序,如是就赶紧去试了下,官方提供的api还不是狠完整.而且官方提供的弹窗组件也 ...
- 一步步弄懂HTTPS
为什么要使用HTTPS? HTTP采用明文传输,存在被监听.内容被篡改.身份被冒充的可能.为了保证安全性,需要对数据进行加密,这便有了HTTPS. 一步步分析HTTPS 1. 采用哪种加密方式加密数据 ...
- oop(Object Oriented Programming)
嗯,昨天忙了一天没来及发,过年啊,打扫啊,什么搽窗户啊,拖地啊,整理柜子啊,什么乱七八糟的都有,就是一个字,忙. 好了,废话也不多说,把自己学到的放上来吧.嗯,说什么好呢,就说原型链啊 原型对象 每个 ...