Solr Velocity отображает ошибку 400 при запросах фильтра - PullRequest
0 голосов
/ 13 марта 2020

При использовании 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+*]

(The & after electronics% 22)

Работает отлично То же самое происходит в отношении того, что Core я создаю. Есть ли какое-то решение для этого ??

1 Ответ

0 голосов
/ 16 марта 2020

Я обнаружил, что в 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, однако это не проблема.

...