【问题标题】:solr faceted categories with count具有计数的 solr 多面类别
【发布时间】:2013-10-28 15:00:52
【问题描述】:

我是 solr 的新手,有问题必须继续开发我们的新搜索引擎,因为我的同事已经不在了。

我的问题: 我想使用 itemcount 获得多面(分层)类别。

示例

搜索“银河”

找到的项目:123

显示类别:

    Electronics (83)
        Mobiles (60)
        Tablets (23)
        Smartphones (37)
        ..... 
    Books (40)
      ....

....

我的每篇文章的类别字段(在 solr 中)包含多个类别树,以逗号分隔。 例如:

    "categories_raw": "Electronics/Mobiles/Tablets,Books/MobilePhones"

使用以下参数发送到我的 solr 的查询会产生带有项目计数的 facet_fields,但仅包含来自项目自己的子类别的计数:

    q=samsung&q.alt=samsung&...&facet=true&facet.field=categories_raw&facet.mincount=1

结果(在结果 JSON 的末尾):

    "facet_counts": {
        "facet_queries": {},
        "facet_fields": {
          "categories_raw": [
            "Electronics/Mobiles/Smartphones",
            37,
            "Books/MobilePhones",
            20,

....

我如何才能像上面的示例一样统计每个类别?
是否可以通过 solr 分解我在字段“categories_raw”中的分层类别字符串?我错过了什么?

希望有人可以提供帮助;)谢谢

【问题讨论】:

    标签: solr pivot categories facet


    【解决方案1】:

    Solr 会计算你给它的东西。尝试使用多值字段并将您想要计算的值放在那里。所以:

    Electronics/Mobiles/Tablets 
    Electronics/Mobiles 
    Electronics
    

    然后,这些方面将为您提供每个方面的计数。要创建这些,您可以在客户端执行它们,也可以在创建条目时(在索引之前)编写自定义 Update Request Processor 来执行它。

    Solr 也有来自结构化路径的some support to extra hierarchical information

    【讨论】:

    • 谢谢。我认为这将解决我的问题。在我将文章推送到 solr 的导入脚本中,我只需要更改该类别部分即可拥有它们,如上所示。
    • 我忘记了 Solr 可以在这里提供帮助的其他方法。我已经更新了原始回复。毕竟,您可能不需要在客户端上完成所有繁重的工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 2017-07-03
    • 2019-07-14
    相关资源
    最近更新 更多