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


    聚合统计

    属性 说明
    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);
    
  • 相关阅读:
    【安全运维】Vim的基本操作
    【代码学习】PYTHON中的静态方法和类方法
    【代码学习】PYTHON 抛出异常
    【代码学习】PYTHON 异常处理
    【代码学习】PYTHON 文件I/O
    【代码学习】PYTHON 函数
    【代码学习】PYHTON 元组
    【代码学习】PYTHON字典(Dictionary)
    【代码审计】PHPCMS2008任意代码执行漏洞
    Service简介
  • 原文地址:https://www.cnblogs.com/Wulex/p/6962046.html
Copyright © 2020-2023  润新知