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 ...
随机推荐
- ASP.NET MVC显示异常信息
开发ASP.NET多了,它的异常信息显示也习惯了.但在ASP.NET MVC中,却是另外一番情形. 以前只习惯使用IE浏览器,现在开发ASP.NET MVC程序,为了捕获到异常信息,Firefox的f ...
- org.hibernate.HibernateException: Wrong column type
这个问题一般出现在我们使用定长的字符串作为主键(其它字段也可能)的时候,如数据库中的ID为char(16).虽然很多资料上都说不推荐这样做,但实际上我们在做很多小case的时候自己为了方便也顾不得那么 ...
- 撩课-Web大前端每天5道面试题-Day35
1.React 中 refs 的作用是什么? Refs 是 React 提供给我们的安全访问 DOM 元素或者某个组件实例的句柄. 我们可以为元素添加 ref 属性然后在回调函数中接受该元素在 DOM ...
- 了解java虚拟机---JVM的基本结构(1)
1. JVM的基本结构 1.1. 类加载子系统 类加载子系统负责从文件或者网络中加载Class信息,加载的类信息存放于方法区的内存空间.方法区中可能还会存放运行时常量信息,包括字符串与数字常量.(这部 ...
- A simple problem(hdu2522)
A simple problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 08:Vigenère密码
08:Vigenère密码 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 16世纪法国外交家Blaise de Vigenère设计了一种多表密码加密算法— ...
- eclipse导入web项目报错
主要是用svn Checkout一个web项目,然后导入eclipse中运行.正常情况应该是没什么问题的,但是有时候也会有点题.是看了别人的博客之后,确实解决了问题,就记录一下.因为很多坑,要自己掉过 ...
- 安卓开发_浅谈ListView(ArrayAdapter数组适配器)
列表视图(ListView)以垂直的形式列出需要显示的列表项. 实现过程:新建适配器->添加数据源到适配器->视图加载适配器 在安卓中,有两种方法可以在屏幕中添加列表视图 1.直接用Lis ...
- Android HandlerThread和IntentService
HandlerThreadHandlerThread继承了Thread,它是一种可以使用Handler的Thread,它实现也很简单,就是在run中通过Looper.prepare()来创建消息队列, ...
- Android解析WindowManager(一)WindowManager体系
前言 WindowManagerService(WMS)和AMS一样,都是Android开发需要掌握的知识点,同样的,WMS也很复杂,需要多篇文章来进行讲解,为何更好的理解WMS,首先要了解Windo ...