如何使用 SOLR 排除构面范围字段?

How to exclude a facet range field using SOLR?

我在 solr 中有一个 product_rating 字段,如下所示

<int name="product_rating:[4 TO 5]">6</int>
<int name="product_rating:[3 TO 5]">8</int>
<int name="product_rating:[2 TO 5]">9</int>
<int name="product_rating:[1 TO 5]">14</int>

所以如果我 select 这个过滤器的任何一个,我不想改变这个方面 count.But 如果我 select 除了 product_rating 我想要的任何过滤器更改此过滤器 count.How 这可能吗? (实际上我想知道 solr exclude 如何在 facet 范围内工作)。请帮助:)

我使用了这个查询但没有用

q=*&fq={!tag=dt}product_rating:[4%20TO%205]&facet.field={!ex=dt}product_rating

这与您尝试过的一样有效 as the manual says,但您必须记住您使用的是 facet.range 来提供您的字段名称 - 而不是 facet.field.

facet.range={!ex=dt}id&..&fq={!tag=dt}id:[0 TO 100000]

.. 给出了预期的结果(其中 facet 的计数不受 fq 的影响)。