每组Solr统计

时间:2015-11-02 14:48:58

标签: solr

我一直在尝试Solr(5.2.1)小组和统计数据,但我无处可去。我有一堆按密钥分组的文件。我在结果中返回组,我想返回每个组的字段的最小值。请注意,我只需要在搜索查询中返回的组。

我可以让stats组件工作,但它只返回所有组的结果;像常规方面。

以下是查询:

facet=true&stats=true&stats.field={!tag=t1}pr&facet.pivot={!stats=t1}groupid

我也尝试过使用stats.facet组件而没有任何运气。我在这里遗漏了什么,或者这不是在索尔?

1 个答案:

答案 0 :(得分:3)

例如,您有以下字段

id,name,category,score

11,NAME1,A,1

22,NAME2 A,2

33,NAME3,B,1

44,NAME4,B,2

55,NAME5,B,3 然后,您可以根据类别和内部组进行分组,您可以根据字段得分获得统计数据。

q=*%3A*&fl=count&wt=json&indent=true&facet=true&stats=true&stats.field={!tag=t1}score&facet.pivot={!stats=t1}category

结果就像

"facet_counts":{
    "facet_queries":{},
    "facet_fields":{},
    "facet_dates":{},
    "facet_ranges":{},
    "facet_intervals":{},
    "facet_heatmaps":{},
    "facet_pivot":{
      "sentiment_cat":[{
          "field":"sentiment_cat",
          "value":"SECOND",
          "count":3,
          "stats":{
            "stats_fields":{
              "sentiment_score":{
                "min":1.0,
                "max":3.0,
                "count":3,
                "missing":0,
                "sum":6.0,
                "sumOfSquares":14.0,
                "mean":2.0,
                "stddev":1.0}}}},
        {
          "field":"sentiment_cat",
          "value":"FIRST",
          "count":2,
          "stats":{
            "stats_fields":{
              "sentiment_score":{
                "min":1.0,
                "max":2.0,
                "count":2,
                "missing":0,
                "sum":3.0,
                "sumOfSquares":5.0,
                "mean":1.5,
                "stddev":0.7071067811865476}}}}]}}

如您所见,min,max,sum在得分字段上完成。这是facet和stat的能力。请告诉我,如果您需要与上述不同的内容