过滤solr facet计数

时间:2009-05-11 09:04:27

标签: solr faceted-search

鉴于以下情况:

<field name="product_id" type="text" indexed="true" stored="true" multivalued="true"/>
<field name="product_type" type="text" indexed="true" stored="true" multivalued="true"/>

我希望得到facet字段product_id的facet计数,该字段由给定结果集的特定product_type过滤(为了得到这个我使用过滤器查询等...)

请注意,我想要的是过滤分面计数,所以:

  • Facet查询没有帮助,因为它引入了特定构面查询结果的列表。 (也不过滤查询)

    2921

  • Facet.prefix可以实现我想要的那种过滤器,但我不知道在这种情况下如何使用它。

备注我想过滤掉与特定类别相匹配的productID

<lst name="facet_fields">
    <lst name="productID">
        <int name="xHidyhuVZIUVVMfUJM8zd6">209</int>
        <int name="34YFQf0F9kqP29SQgrmqI1">206</int>
        <int name="m3wp9GS9Iweai0ftKLSlG">195</int>
        <int name="aAwN5QFjQLxcrDWFiirjY2">169</int>
        <int name="k405yG1RwRndI5T19dMO8">169</int>
    </lst>
</lst>

1 个答案:

答案 0 :(得分:5)

据我所知,您无法使用其他字段过滤构面计数。 facet.prefix 仅适用于您所面对的相同字段。

我会发出另一个过滤产品类型的查询,只是为了获得您想要的方面数,例如:select?q=product_type:somecategory&rows=0&facet=true&facet.field=product_id