【问题标题】:Solr Grouping For Categories / Sub-Categories类别/子类别的 Solr 分组
【发布时间】:2013-02-22 00:52:47
【问题描述】:

我还是 Solr 领域的新手。

我正在尝试创建一个按类别分组的查询,返回一个唯一的子类别列表。我的架构类似于以下内容:

+==============================================+
| 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 列返回唯一值。下面的示例确实说明了不同的子类别:

{
  "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"}
            ]
        },
      ]
    }
  }
}

【问题讨论】:

    标签: solr solr4


    【解决方案1】:

    假设您使用的是 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]
    

    【讨论】:

    • 我正在对此进行测试。我绝对不依赖于使用分组或分组的输出格式,所以如果分面旋转有效,我很乐意使用它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2022-09-30
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    相关资源
    最近更新 更多