Solr.NET快速入门(六)【聚合统计,分组查询】
2017-03-18 22:22
309 查看
聚合统计
属性 | 说明 |
---|---|
Min | 最小值 |
Max | 最大值 |
Sum | 总和 |
Count | 记录数,也就是多少行记录 |
Missing | 结果集中,有多少条记录是空值 |
SumOfSquares | 平方和(x1^2 + x2^2+xn^2) |
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快速入门(五)【聚合统计,分组查询】
- Solr.NET快速入门(四)【相似查询,拼写检查】
- Solr.NET快速入门(二)【查询】
- Solr.NET快速入门(五)【相似查询,拼写检查】
- Solr分组聚合查询之Facet
- Solr分组聚合查询之Group
- solr分组查询、统计功能详解
- Solr.NET快速入门(一)【基本使用,映射字段】
- Solr.NET快速入门(七)【覆盖默认映射器,NHibernate集成】
- Solr.NET快速入门(四)【高亮显示】
- Solr.NET快速入门(二)
- Solr.NET快速入门(八)【覆盖默认映射器,NHibernate集成】
- ADO.NET Entity Framework查询实体和关联(实体框架快速入门)
- Solr分组聚合查询之StatsComponent
- Solr.NET快速入门(八)【多核多实例,映射验证】
- Solr.NET快速入门(九)【二进制文档上传】【完】
- Solr.NET快速入门(九)【多核多实例,映射验证】
- Solr.NET快速入门(七)【核心管理,Fluent API】
- SolrNet高级用法(分页、Facet查询、任意分组)
- mongodb[八]聚合查询、统计、分组、平均值、最大值、最小值