每组的 Solr 统计数据

use*_*270 1 solr

我一直在尝试 Solr (5.2.1) 组和统计数据,但一无所获。我有一堆按键分组的文档。我正在返回结果中的组,并且我想返回每个组的字段的最小值。请注意,我只需要它用于搜索查询中返回的组。

我能够使统计组件正常工作,但它只返回所有组的结果;像常规面一样。

这是查询:

facet=true&stats=true&stats.field={!tag=t1}pr&facet.pivot={!stats=t1}groupid
Run Code Online (Sandbox Code Playgroud)

我还尝试使用 stats.facet 组件,但没有任何运气。我在这里遗漏了一些东西还是这不在 Solr 中?

Ram*_*mzy 5

例如,您有以下字段

id、名称、类别、分数

11,名称1,A,1

22,名称2,A,2

33,名称3,B,1

44,名称4,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
Run Code Online (Sandbox Code Playgroud)

结果就像

"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}}}}]}}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,最小值、最大值、总和是在分数字段上完成的。这就是facet和stat的能力。如果您需要与上面不同的东西,请告诉我