聚合统计

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

示例:

  1. ISolrOperations<Product> solr = ...
  2. var results = solr.Query(SolrQuery.All, new QueryOptions {
  3. Rows = 0,
  4. Stats = new StatsParameters {
  5. Facets = new[] { "inStock" },
  6. FieldsWithFacets = new Dictionary<string, ICollection<string>> {
  7. {"popularity", new List<string> {"price"}}
  8. }
  9. }
  10. });
  11. foreach (var kv in results.Stats) {
  12. Console.WriteLine("Field {0}: ", kv.Key);
  13. var s = kv.Value;
  14. Console.WriteLine("Min: {0}", s.Min);
  15. Console.WriteLine("Max: {0}", s.Max);
  16. Console.WriteLine("Sum of squares: {0}", s.SumOfSquares);
  17. foreach (var f in s.FacetResults) {
  18. Console.WriteLine("Facet: {0}", f.Key);
  19. foreach (var fv in f.Value) {
  20. Console.WriteLine("Facet value: {0}", fv.Key);
  21. Console.WriteLine("Min: {0}", fv.Value.Min);
  22. Console.WriteLine("Max: {0}", fv.Value.Max);
  23. Console.WriteLine("Sum of squares: {0}", fv.Value.SumOfSquares);
  24. }
  25. }
  26. }

分组统计查询

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

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

对于Solr 1.4 / 3.1

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

示例代码:

  1. ISolrOperations<Product> solr = ...
  2. var results = solr.Query(new SolrQueryByField("features", "noise"), new QueryOptions {
  3. Collapse = new CollapseParameters {
  4. Field = "manu"
  5. }
  6. });
  7. foreach (KeyValuePair<string, int> collapsedDocument in results.Collapsing.DocResults)
  8. 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. String类面试坑题

    1.面试坑题F:\SHJT\JavaWorkspace\JavaSE\workspace\day13ezra\src\cn\itcast\sh\classcode\BTStringLastIndexO ...

  2. 【技术累积】【点】【编程】【13】XX式编程

    (原)函数式编程 核心概念 函数式一等公民(输入输出啥的都可以是函数): 纯函数,固定输入带来固定输出: 阅读性良好,无并发问题,但效率偏低: 大历史背景 旨在描述问题如何计算: 有两位巨擘对问题的可 ...

  3. 06--c++友元类

    =======================什么是友元类======================= 当一个类B成为了另外一个类A的“朋友”时,那么类A的私有和保护的数据成员就可以被类B访问.我们 ...

  4. (转)淘淘商城系列——Solr集群搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72957201 我们之前做的搜索使用的是Solr的单机版来实现的,正是由于我们现在商品数据量不多 ...

  5. redis得配置及使用

    http://www.cnblogs.com/huskyking/p/6004772.html

  6. SSM项目中表单分页操作(PageHepler使用)

    Maven pom.xml添加依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifa ...

  7. 机器学习K-Means

    1.K-Means聚类算法属于无监督学习算法. 2.原理:先随机选择K个质心,根据样本到质心的距离将样本分配到最近的簇中,然后根据簇中的样本更新质心,再次计算距离重新分配簇,直到质心不再发生变化,迭代 ...

  8. 一个简单的执行程序的GNU automake自动生成Makefile的方法及案例

    一个简单的执行程序的GNU automake自动生成Makefile的方法及案例 在GNU的世界里,存在Automake这样的工具进行自动生成Makefile文件,automake是由Perl语言编写 ...

  9. [luogu2054 AHOI2005] 洗牌 (数论)

    传送门 Solution 我们考虑每一步牌的变化: 前半部分的牌位置*2 后半部分的牌位置*2-n-1 那么我们可以看做是\(x\times 2^m\equiv l \pmod n\) 于是求个逆元就 ...

  10. [luogu2474 SCOI2008]天平(floyd差分约束)

    传送门 Solution 由于重量只有三种情况,那么想到用差分约束. 由于范围比较小,想到可以floyed求差分约束,暴力求天平另一边 Code #include <cstdio> #in ...