我仍然是Solr领域的新手。
我正在尝试创建一个按类别分组的查询,返回一个唯一的sub_categories列表。我的架构看起来类似于以下内容:
+==============================================+
| id | category | sub_category | Type |
+-----+----------+--------------+--------------+
| 1 | Apparel | Pants | Suede |
| 2 | Apparel | Pants | Leather |
| 3 | Apparel | Pants | Wind Pants |
| 4 | Apparel | Shirts | Short-Sleeve |
| 5 | Apparel | Shirts | Long-Sleeve |
| 6 | Sports | Balls | Soccer Ball |
| 7 | Sports | Balls | Football |
+-----+----------+--------------+--------------+
我有兴趣获得类似于以下的回报,但我不确定如何完成它。我几乎可以到达这里,但问题是我无法让sub_category列返回唯一值。 下面的示例说明了不同的sub_categories:
{
"responseHeader": {
"status": 0,
"QTime:" 12,
},
"grouped": {
"category": {
"matches": 1,
"groups": [
{
"groupValue": "Apparel",
'docList": {
"numFound": 2,
'start': 0,
'docs': [
{"sub_category": "Pants"},
{"sub_category": "Shirts"}
]
},
{
"groupValue": "Sports",
'docList": {
"numFound": 2,
'start': 0,
'docs': [
{"sub_category": "Balls"}
]
},
]
}
}
}
答案 0 :(得分:3)
假设您使用的是Solr 4.0+,我相信facet pivoting是一种更好的方法。
尝试:
http://localhost:8983/solr/select?q=*:*&facet.pivot=category,sub_category&facet=true&facet.field=category&rows=0
更新:嗯,但是这不会给你带来独特的数量: - ?如果可以的话,那会给你这样的东西:
+ Apparel [5]
|--- Pants [3]
|--- Shirts [2]
|
+ Sports [2]
|--- Balls [2]