Solr Velocity在过滤器查询中显示错误400

在使用Velocity Solr时,我遇到了错误400。仅当我有三个或更多过滤器查询时才会发生。 我注意到在URL中传递的查询是:

http://localhost:8983/solr/techproducts/browse?&fq=cat%3A%22electronics%22fq=manu_exact%3A%22Samsung+electronics+Co.+Ltd.%22&debugQuery=true&q=&fq=-author_s:[*+TO+*]

但是更改为

http://localhost:8983/solr/techproducts/browse?&fq=cat%3A%22electronics%22&fq=manu_exact%3A%22Samsung+electronics+Co.+Ltd.%22&debugQuery=true&q=&fq=-author_s:[*+TO+*]

(电子产品之后的%22)

它可以完美地运行,即使我创建的Core较少,也会发生相同的情况。有什么解决办法吗?

bjcjggl06040804 回答:Solr Velocity在过滤器查询中显示错误400

我在VM_global_library.vm中发现了 通过更改

#macro(fqs $p)#foreach($fq in $p)#if($velocityCount && $velocityCount>1)&&#{end}fq=$esc.url($fq)#end#end

#macro(fqs $p)#foreach($fq in $p)#if($velocityCount && $velocityCount>1)&&#{end}fq=$esc.url($fq)&#end#end

(在末尾添加了&,对于少于三个参数的查询,它将在URL中使用&&呈现某些查询,但这不是问题。

本文链接:https://www.f2er.com/2650952.html

大家都在问