2

我是 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”中的分层类别字符串?我错过了什么?

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

4

1 回答 1

0

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

Electronics/Mobiles/Tablets 
Electronics/Mobiles 
Electronics

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

Solr 还对结构化路径中的额外分层信息提供了一些支持。

于 2013-10-29T02:27:13.180 回答