【问题标题】:How do I facet on two fields at the same time to get combination facets and their count?如何同时在两个字段上进行构面以获得组合构面及其计数?
【发布时间】:2014-08-01 12:21:32
【问题描述】:

请求您帮助我解决以下方面的问题。提前致谢。如果您不理解我在下面的解释中的任何部分,也请告诉我。

我如何同时对两个以上的类别(比如下面讨论的“项目”和“类型”)进行刻面以获得组合刻面及其计数? 当您打开 URL http://search-lucene.com/?q=facets 时,您可以看到右侧的构面为 'Project'、'type'、'date'、'author' 及其对应的值,括号中为 count。

例如,假设您在“项目”方面选择了“solr(3366)”,但我仍然可以在“项目”方面看到其他值,例如 ElasticSearch 等,以及它们各自的计数。 项目: solr(3366) -- 已选择 弹性搜索 (1650) Lucene (1255) Lucene.Net (43) 纳奇 (20) PyLucene (17) 马豪 (16) 歧管CF (8) 蒂卡 (4) OpenRelevance (3) 露西 (2) 类型: 邮件 # 用户 (2791) 问题 (303) 邮件#开发(134) 源代码 (82) javadoc (37) 维基 (36) 网站 (2)

  1. 进一步,当我在“类型”部分下选择“邮件#用户(2791)”时,我可以再次在“类型”部分下看到其他值,它们的相应计数在括号中,并且它们在“项目”方面的相应值相应更改(即计数)。 项目: Solr (2784) -- 已选择 弹性搜索 (1056) Lucene (237) Lucene.Net (24) 纳奇 (14) 象头 (10) 歧管CF (4) 露西 (2) OpenRelevance (1) 类型 邮件 # 用户 (2791) -- 已选择 问题 (303) 邮件#开发(134) 源代码 (82) javadoc (37) 维基 (36) 网站 (2)

    观察 solr(3366) 如何更改为 Solr (2784) post selection of mail # user 以及“Project”(如 ElasticSearch 等)和“type”(问题、javadoc 等)的其他值计数值的变化。

我想实现类似的工作功能。如果以下查询方向正确,请告诉我。如果我必须修改它,请告诉我。如果是,是什么以及如何。可能会解释为什么会有很大帮助。

localhost:8080/solr/collection1/select?q=facets&fq=Project%3A(%22solr%22)&fq=type%3A(%22mailhashuser%22)&facet=true&facet.mincount=1&facet.field=project&facet.field =type&wt=json&indent=true&defType=edismax&json.nl=map

如果上述查询的方向不正确。请帮助构建相同的。提前致谢。

亲切的问候, 万西

【问题讨论】:

    标签: solr solr4


    【解决方案1】:

    使用标记和排除过滤器: http://wiki.apache.org/solr/SimpleFacetParameters#Tagging_and_excluding_Filters

    示例: 我有 2 个 Facets 颜色和形状。

    颜色:红绿黄

    形状:圆形方形

    所以如果我选择“红色”,那么绿色和黄色应该出现在构面列表和所有形状中。

    以下查询对我有用。

    /select?q={!tag=dt1}color:red&fq={!tag=dt2}shape:*&facet=true&facet.field={!ex=dt1}color&facet.field={!ex=dt2}shape
    

    使用上述解决方案,我能够解决您在上述问题中迭代的确切问题。

    此解决方案将真正帮助您解决问题

    Unable to use Tagging and excluding Filters

    如果它解决了您的问题,请告诉我。

    问候,

    Jayesh Bhoyar

    【讨论】:

    • 感谢 Jayesh,当我们获得所有红色形状时,这将起作用,但如果我选择形状为正方形,我需要将红色和形状组合为正方形。
    • 您好,如果您尝试实施此解决方案,您将获得所需的输出。我正在编写此解决方案,因为我已经尝试过并对其进行了测试。选择 RED 后,如果您进一步选择 Circle,您将获得所有 RED 和 Circle 结果。我已经在 Flipkart 等零售电子网站上实施了这个解决方案。因此,如果您实施上述方法,Flipkart 分面的工作方式与 SOLR 分面的工作方式相同。
    • 非常感谢 Jayesh,我只是对形状感到困惑:* 在您的查询中我已更改,这对我有用 /select?q=solr%20facets&fq={!tag=pr}Project%3A (%22solr%22)&fq={!tag=typ}type%3A(%22mailhashuser%22)&facet=true&facet.mincount=1 &facet.field={!ex=pr}project&facet.field={!ex=typ} type&wt=json&indent=true&defType=edismax&json.nl=map 我认为它的工作原理是这样的,无论选择哪个我们需要排除它。
    猜你喜欢
    • 2020-07-15
    • 2016-03-08
    • 2023-04-05
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多