每组Solr统计数据

每组Solr统计数据,solr,Solr,我一直在试验Solr(5.2.1)组和统计数据,但我一无所获。我有一堆按键分组的文档。我将返回结果中的组,并希望返回每个组的字段的最小值。请注意,我只需要将其用于搜索查询中返回的组 我能够让stats组件工作,但是它只返回所有组的结果;像规则的面 以下是查询: facet=true&stats=true&stats.field={!tag=t1}pr&facet.pivot={!stats=t1}groupid 我还尝试使用stats.facet组件,但没有任何运气。我

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

我能够让stats组件工作,但是它只返回所有组的结果;像规则的面

以下是查询:

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

我还尝试使用stats.facet组件,但没有任何运气。我是在这里遗漏了什么,还是不是在索尔

例如,您有以下字段

id、姓名、类别、分数

11、姓名1、A、1

22,姓名2,A,2

33,姓名3,B,1

44,姓名4,B,2

55,姓名5,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的功能。请告诉我,如果您需要与上面不同的内容,例如,您有以下字段

id、姓名、类别、分数

11、姓名1、A、1

22,姓名2,A,2

33,姓名3,B,1

44,姓名4,B,2

55,姓名5,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的功能。让我知道,如果您需要与上面不同的内容

谢谢Ramzy,这的整个问题是facet透视的结果基于一般facet,而不是返回的组。我需要在搜索查询中返回的组的统计信息。“需要在搜索查询中返回的组的统计信息”-你能详细说明一下吗,可能需要上面例子的帮助。这个返回的方面就像它们总是在Solr中返回一样;按计数。这并不意味着搜索请求中返回的组包含在facetprovot中。您将需要更多数据来复制此内容。很抱歉,未获取您的信息。无论如何,如果你需要更多的帮助,我们可以用你选择的例子来讨论,或者快乐学习假设你有2000万件物品。当你运行一个搜索查询时,你会得到10个与你的搜索查询最相关的组。但是,这10个组不能保证包含在facet中。facet将根据组中项目的最高计数返回,这可能不是搜索请求中返回的项目。相关性返回的搜索请求。。。。通过项目计数返回的面。。。。有意义吗?谢谢Ramzy,这个问题的全部原因是facet pivot的结果基于一般facet,而不是返回的组。我需要在搜索查询中返回的组的统计信息。“需要在搜索查询中返回的组的统计信息”-你能详细说明一下吗,可能需要上面例子的帮助。这个返回的方面就像它们总是在Solr中返回一样;按计数。这并不意味着搜索请求中返回的组包含在facetprovot中。您将需要更多数据来复制此内容。很抱歉,未获取您的信息。无论如何,如果你需要更多的帮助,我们可以用你选择的例子来讨论,或者快乐学习假设你有2000万件物品。当你运行一个搜索查询时,你会得到10个与你的搜索查询最相关的组。但是,这10个组不能保证包含在facet中。facet将根据组中项目的最高计数返回,这可能不是搜索请求中返回的项目。相关性返回的搜索请求。。。。通过项目计数返回的面。。。。有道理?