我一直在尝试 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 中?
例如,您有以下字段
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的能力。如果您需要与上面不同的东西,请告诉我