2015-11-02 208 views
0

我一直在试验Solr(5.2.1)组和统计数据,我无处可去。我有一堆按键组合的文档。我在结果中返回组,并且我想返回每个组的字段的最小值。请注意,我只需要它在搜索查询中返回的组。每组Solr统计信息

我能够得到stats组件工作,但它只是返回所有组的结果;像常规的方面。

下面是该查询:

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

我还试图用stats.facet组件没有任何的运气。我在这里错过了什么,或者这不是在Solr吗?

回答

2

例如,你已经以下字段

ID,名称,类别,得分

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}}}}]}} 

正如你所看到的,最小值,最大值,总和是在得分方面所做。这是facet和stat的能力。让我知道,如果你需要一些不同于以上的东西

+0

谢谢Ramzy,与此相关的整个问题是,方面的枢纽的结果是基于普通的方面,而不是返回的组。我需要搜索查询中返回的组的统计信息。 – browskie

+0

“需要搜索查询中返回的组的统计信息” - 您可以请求实验,可能需要上述示例的帮助 – Ramzy

+0

这会返回像它们总是在Solr中返回的方面;通过计数。这并不意味着在搜索请求中返回的组包含在方面数据透视中。你将需要更多的数据来复制这个。 – browskie