聚合统计

属性 说明
Min 最小值
Max 最大值
Sum 总和
Count 记录数,也就是多少行记录
Missing 结果集中,有多少条记录是空值
SumOfSquares 平方和(x1^2 + x22+xn2)
Mean 平均数(x1+x2+xn)/n
StdDev 标准差

示例:

ISolrOperations<Product> solr = ...
var results = solr.Query(SolrQuery.All, new QueryOptions {
Rows = 0,
Stats = new StatsParameters {
Facets = new[] { "inStock" },
FieldsWithFacets = new Dictionary<string, ICollection<string>> {
{"popularity", new List<string> {"price"}}
}
}
}); foreach (var kv in results.Stats) {
Console.WriteLine("Field {0}: ", kv.Key);
var s = kv.Value;
Console.WriteLine("Min: {0}", s.Min);
Console.WriteLine("Max: {0}", s.Max);
Console.WriteLine("Sum of squares: {0}", s.SumOfSquares);
foreach (var f in s.FacetResults) {
Console.WriteLine("Facet: {0}", f.Key);
foreach (var fv in f.Value) {
Console.WriteLine("Facet value: {0}", fv.Key);
Console.WriteLine("Min: {0}", fv.Value.Min);
Console.WriteLine("Max: {0}", fv.Value.Max);
Console.WriteLine("Sum of squares: {0}", fv.Value.SumOfSquares);
}
}
}

分组统计查询

分组统计查询不同于分组统计(Facet),facet只是简单统计记录数,并不能为每组数据返回实际的数据回来,solr提供的grouping查询能够解决这一问题,也就是说,他除了能分组外,还能把每组数据返回来。

此功能可用于通过指定字段的唯一值折叠或分组文档。 结果中包括按文档键和字段值的记录数。

对于Solr 1.4 / 3.1

此功能不包括在股票Solr 1.4或3.1中。 您需要应用补丁并重新编译Solr。

示例代码:

ISolrOperations<Product> solr = ...
var results = solr.Query(new SolrQueryByField("features", "noise"), new QueryOptions {
Collapse = new CollapseParameters {
Field = "manu"
}
});
foreach (KeyValuePair<string, int> collapsedDocument in results.Collapsing.DocResults)
Console.WriteLine("Collapse count for document '{0}': {1}", collapsedDocument.Key, collapsedDocument.Value);

Solr.NET快速入门(五)【聚合统计,分组查询】的更多相关文章

  1. Django聚合与分组查询中value与annotate的顺序问题

    在学习Django聚合与分组查询中,发现value与annotate的顺序不同时,查询结果大相径庭,经过一下午的研究,终于弄明白了,现在分享给大家,先上结论: 结论 value在annotate前面时 ...

  2. Django-ORM之聚合和分组查询、F和Q查询、事务

    聚合查询 聚合对查询的结果进行一步的计算加工. aggregate()是QuerySet 的一个终止子句 ,他的作用是,返回一个包含一些键值对的字典.键的名称是聚合值的标识符,值是计算出来的聚合值.键 ...

  3. Django 多表、跨表、聚合、分组查询

    前期准备: 创建表 class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalFi ...

  4. 五、Oracle 分组查询、视图

    一.分组函数1.avg:平均分2.sum:求和3.max:最大值4.min:最小值注意:前面四个必须针对数值字段,且参数只能是一个5.count:求个数 二.分组查询1.语法是 group by 分组 ...

  5. (5)Maven快速入门_5maven聚合与继承_scope依赖范围

    多个maven项目实现统一管理, maven 插件jar继承自父的maven项目.对maven中jar的版本进行管理. 1.创建一个项目来管理多个maven项目 new ----maven Proje ...

  6. Solr.NET快速入门(九)【二进制文档上传】【完】

    二进制文档上传 SolrNet支持Solr"提取"功能(a.k.a. Solr"Cell")从二进制文档格式(如Word,PDF等)索引数据. 这里有一个简单的 ...

  7. Solr.NET快速入门(八)【多核多实例,映射验证】

    多核/多实例 本页介绍如何配置SolrNet访问(读/写)多个Solr内核或实例. 它假定您知道Solr内核是什么,如何在SolrNet外部配置和使用它们. 此页面不涵盖CoreAdminHandle ...

  8. Solr.NET快速入门(七)【覆盖默认映射器,NHibernate集成】

    覆盖默认映射器 默认情况下,SolrNet使用属性映射Solr字段. 但是,您可能需要使用另一个映射程序. 替换默认映射器取决于您如何设置库: 内置容器 如果使用默认的内置容器,可以在调用Startu ...

  9. Solr.NET快速入门(四)【相似查询,拼写检查】

    相似查询 此功能会返回原始查询结果中返回的每个文档的类似文档列表. 参数通过QueryOptions的MoreLikeThis属性定义. 示例:搜索"apache",为结果中的每个 ...

随机推荐

  1. POJ_2186_Popular Cows_强连通分量

    Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 30680   Accepted: 12445 De ...

  2. eas启动服务器时非法组件

    EAS实例启动报系统中存在非法组件,实例启动失败:   组件检查机制,要求除了 $EAS_HOME eas\server\lib: $EAS_HOME \eas\server\deploy\files ...

  3. ext4的一些特性

    delalloc介绍 delalloc是ext4下的一个新特性,延迟分配技术Delay Allocation. 实现原理为: Buffer Write时数据会被保存到page cache中,但是系统并 ...

  4. PL\SQL(day05)

    PLSQL 1.常用的访问数据库的相关技术 1) plsql 过程化的sql 2) proc/c++ 在c/c++语言中访问oracle数据库的技术 3) ado/odbc vc中访问数据库的技术 4 ...

  5. Git 基础教程 之 Git 安装 (windows)

    一,安装Git,访问下面网址进行下载 https://www.git-scm.com/download/ 或者 https://pan.baidu.com/s/19imFBVHA2Yibmw1dyza ...

  6. LCS,LIS,LCIS

    网站:CSUST 8月3日(LCS,LIS,LCIS) LCS:      以下讲解来自:http://blog.csdn.net/yysdsyl/article/details/4226630 [问 ...

  7. zabbix ipmi

    http://blog.csdn.net/ygqygq2/article/details/53264993

  8. Java基础教程:tutorialspoint-spring mvc

    教程: 来自turorialspoint的Spring MVC 4.1.6教程(英文),官网:https://www.tutorialspoint.com/springmvc/index.htm 离线 ...

  9. 基于I/O的Server/Client实现

    在前面的文章中讲了基于NIO实现的Server/Client.本文就讲讲基于同步堵塞式I/O实现的Server/Client好与前面的NIO中的Server/Client进行对照. 网络编程中须要解决 ...

  10. PixelUtils:像素转换工具

    /** 像素转换工具 */ public class PixelUtils { /** * The context. */ private static Context mContext = Cust ...