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

时间:2015-01-22 09:56:49

标签: php solr elasticsearch lucene

我在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>

所以如果我选择这个过滤器中的任何一个,我不想更改构面数。但是如果我选择除product_rating之外的任何过滤器,我想更改此过滤器数。这怎么可能? (实际上我想知道solr如何排除facet范围内的工作)。 PLZ帮助:)

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

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

1 个答案:

答案 0 :(得分:0)

这项工作正如您已经尝试过的as the manual say,但您必须记住,您使用facet.range来提供字段名称 - 而不是facet.field

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

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