Solr.NET快速入门(五)【聚合统计,分组查询】
发布时间:2020-12-14 01:49:54 所属栏目:百科 来源:网络整理
导读:聚合统计 属性 说明 Min 最小值 Max 最大值 Sum 总和 Count 记录数,也就是多少行记录 Missing 结果集中,有多少条记录是空值 SumOfSquares 平方和(x1^2 + x2^2+xn^2) Mean 平均数(x1+x2+xn)/n StdDev 标准差 示例: ISolrOperationsProduct solr = ...va
聚合统计
示例: 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查询能够解决这一问题,也就是说,他除了能分组外,还能把每组数据返回来。 此功能可用于通过指定字段的唯一值折叠或分组文档。 结果中包括按文档键和字段值的记录数。 示例代码: 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);
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |