У меня есть поле product_rating в solr, которое выглядит ниже
<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 исключает работу в фасетном диапазоне). плз помочь :)
Я использовал этот запрос, но не работал
q=*&fq={!tag=dt}product_rating:[4%20TO%205]&facet.field={!ex=dt}product_rating
Это работает так, как вы пробовали, и, как говорится в руководстве, но вы должны помнить, что используете facet.range
чтобы facet.range
свое имя поля - не facet.field
.
facet.range={!ex=dt}id&..&fq={!tag=dt}id:[0 TO 100000]
.. дает ожидаемый результат (где счетчики для фасета не зависят от fq
).
<lst name="facet_counts"> <lst name="facet_queries"> <int name="product_rating:[4 TO 5]">864</int> <int name="product_rating:[3 TO 5]">1548</int> <int name="product_rating:[2 TO 5]">1935</int> <int name="product_rating:[1 TO 5]">2186</int> </lst>
q=*&rows=0&facet=true&facet.query={!ex=dt}product_rating&fq={!tag=dt}product_rating:[1%20TO%205]
и я получаю<int name="product_rating:[4 TO 5]">0</int> <int name="product_rating:[3 TO 5]">0</int> <int name="product_rating:[2 TO 5]">0</int> <int name="product_rating:[1 TO 5]">2186</int>
. Помогите плз