SOLR标记和排除范围方面的过滤器



我正在创建一个不均匀的范围方面,我想支持它的多选。但是,过滤器的标记/排除方面停止工作。以下是我的价格范围0-2020-5050-100100-*最初,我使用facet查询填充上述范围。现在,每当最终用户选择0-20和20-50时,我正在生成以下

http://localhost:8983/solr/catalog/select?q=games&facet=true&wt=xml&rows=0&     fq={!tag=salePrice}salePrice:[0 TO 20]&facet.query={!ex=salePrice}[0 to 20]&      fq={!ex=salePrice}salePrice:[20 TO 50]&facet.query={!ex=salePrice}[20 to 50]&       other params.

&系统返回的结果为零。

我看到以下SOLR JIRA错误已修复。

https://issues.apache.org/jira/browse/SOLR-3819

但是,在这种情况下,只有一个facet.query在运行。在我的示例中,我使用的是范围不均匀的多重facet.query。请帮忙。

您的查询有两个不重叠的fq子句。这就是为什么您得到的结果为零——与facet或标签本身无关。对于多选,您需要将它们与"OR"组合。

代替

...&fq={!tag=salePrice}salePrice:[0 TO 20]&...&fq={!ex=salePrice}salePrice:[20 TO 50]&...

你想要

...&fq={!tag=salePrice}salePrice:[0 TO 20] OR salePrice:[20 TO 50]&...

(或合并为一个范围)

最新更新