Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
solr标签和;排除范围面的过滤器_Solr_Filter_Facet - Fatal编程技术网

solr标签和;排除范围面的过滤器

solr标签和;排除范围面的过滤器,solr,filter,facet,Solr,Filter,Facet,我正在创建一个不均匀范围方面,我想支持它的多重选择。但是,过滤器的标记/排除上的刻面停止工作。 以下是我的价格范围 0-20 20-50 50-100 100-* 最初,我使用facet查询填充上述范围。 现在,只要最终用户选择0-20和20-50, 我正在生成以下内容 http://localhost:8983/solr/catalog/select?q=games&facet=true&wt=xml&rows=0& fq={!tag=salePrice

我正在创建一个不均匀范围方面,我想支持它的多重选择。但是,过滤器的标记/排除上的刻面停止工作。 以下是我的价格范围 0-20 20-50 50-100 100-* 最初,我使用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 bug被修复了

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

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

而不是

...&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]&...

(或合并为一个范围)

fq={!tag=salePrice}salePrice:[0到20]&facet.query={!ex=salePrice}[0到20]&fq={!ex=salePrice}salePrice:[20到50]&facet.query={!ex=salePrice}[20到50]&您得到解决方案了吗?顺便说一句,我注意到上下限都包含在内,这意味着有重叠……可能会让您的用户感到困惑。您可以使用
}
而不是
]
使上限为独占。