转载请出自出处: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聚合统计)的更多相关文章

  1. 关于MongoDB时间格式转换和时间段聚合统计的用法总结

    一 . 背景需求 在日常的业务需求中,我们往往会根据时间段来统计数据.例如,统计每小时的下单量:每天的库存变化,这类信息数据对运营管理很重要. 这类数据统计依赖于各个时间维度,年月日.时分秒都有可能. ...

  2. Solr.NET快速入门(五)【聚合统计,分组查询】

    聚合统计 属性 说明 Min 最小值 Max 最大值 Sum 总和 Count 记录数,也就是多少行记录 Missing 结果集中,有多少条记录是空值 SumOfSquares 平方和(x1^2 + ...

  3. MongoDB 中聚合统计计算--$SUM表达式

    我们一般通过表达式$sum来计算总和.因为MongoDB的文档有数组字段,所以可以简单的将计算总和分成两种:1,统计符合条件的所有文档的某个字段的总和:2,统计每个文档的数组字段里面的各个数据值的和. ...

  4. 用logstash 作数据的聚合统计

    用logstash 作数据的聚合统计 以spark-streaming 处理消费数据,统计日志经spark sql存储在mysql中 日志写入方式为append val wordsDataFrame ...

  5. Elasticsearch 第六篇:聚合统计查询

    h2.post_title { background-color: rgba(43, 102, 149, 1); color: rgba(255, 255, 255, 1); font-size: 1 ...

  6. 小试牛刀ElasticSearch大数据聚合统计

    ElasticSearch相信有不少朋友都了解,即使没有了解过它那相信对ELK也有所认识E即是ElasticSearch.ElasticSearch最开始更多用于检索,作为一搜索的集群产品简单易用绝对 ...

  7. pandas:聚合统计、数据分箱、分组可视化

    1.聚合统计 1.1描述统计 #df.describe(),对数据的总体特征进行描述 df.groupby('team').describe() df.groupby('team').describe ...

  8. 百度地图API 重新生成点聚合的功能

    百度点聚合用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能. http://api.map.baidu.com/library/MarkerClusterer/1.2/docs/symbo ...

  9. Elasticsearch--Aggregation详细总结(聚合统计)

    Elasticsearch的Aggregation功能也异常强悍. Aggregation共分为三种:Metric Aggregations.Bucket Aggregations. Pipeline ...

随机推荐

  1. Netty 心跳服务之 IdleStateHandler 源码分析

    前言:Netty 提供的心跳介绍 Netty 作为一个网络框架,提供了诸多功能,比如我们之前说的编解码,Netty 准备很多现成的编解码器,同时,Netty 还为我们准备了网络中,非常重要的一个服务- ...

  2. win2d 图片水印

    本文告诉大家如何使用 win2d 给图片加上水印. 安装 首先需要使用 Nuget 安装 win2d ,安装参见win10 uwp win2d 如果没有更新 dot net core 那么在运行可能会 ...

  3. [C#]非阻塞监听键盘输入

    摘要 最近需要调研监控用户键盘输入的内容,然后收集数据进行用户行为分析.然后就用控制台程序弄了一个demo. 代码如下 class Program { static void Main(string[ ...

  4. 设计模式-组合模式(Composite)

    一.概念 将对象组合成树形结构以表示“部分-整体”的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性. 二.模式动机 组合模式,通过设计一个抽像的组件类,使它既代表叶子对象,又代表组合对 ...

  5. RocketMQ 消息存储

    消息存储 主要的存储文件: 1.消息文件(commitLog) 2.消息消费队列文件(consumeQueue) 3.Hash索引文件(IndexFile) 4.检测点文件(checkpoint) 5 ...

  6. Java JDBC SqlServer

    一.驱动 下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=11774 引用Jar包时注意区分Java版本: Sqljdbc4 ...

  7. POJ1741(SummerTrainingDay08-G 树的点分治)

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 23380   Accepted: 7748 Description ...

  8. AngularJS学习之 angular-file-upload控件使用方法

    1.官方链接 https://github.com/nervgh/angular-file-upload 2.安装到项目中 bower install angular-file-upload(安装完成 ...

  9. WOSA/XFS PTR FORM—基础知识

    目录 一.XFS PTR 二.XFS PTR FORM 三.Form.子Form.字段.框架.表单和媒介的定义 正文 一.XFS PTR Class Name PTR Class Identifier ...

  10. [Android] 仿照 Last App Switcher 写的小程序

      在Android众多工具类app中,Last App Switcher绝对算是一个让人用过就不会卸载的工具.LAS这个应用,它的功能很简单,就是通过一个浮动按钮实现在两个应用之间一键切换,但是非常 ...