0

我有一个基于 Web 的前端(目前是 localhost),它使用 Ajax 来查询 Solr。

它运行良好,但如果我在输入/搜索框中提交一个空格(没有别的),浏览器中的 URL 会显示

...#q=%20

在那种情况下,我得到一个400 error,并且我的网页停止(不刷新),显然在等待 Solr 的响应。

相比之下,如果我提交分号 ( ;) 而不是空格,则页面会立即刷新,尽管没有结果 ( displaying 0 to 0 of 0; 预期的)。

我的问题是什么触发了 Solr 中的“ ”(%20)查询错误,我该如何解决solrconfig.xml

4

1 回答 1

0

更新。 此条solrconfig.xml目解决了q=%20我描述的问题。

<requestHandler name="/select" class="solr.SearchHandler">
  <lst name="defaults">
    <str name="echoParams">explicit</str>
    <int name="rows">10</int>
    <str name="hl">off</str>
    <str name="wt">html</str> 
    <str name="df">query</str>
    <!-- *** ADDITION: *** -->
    <str name="defType">edismax</str>
  </lst>
</requestHandler>

注:开发代码,虚拟数据。

之前: https ://www.youtube.com/watch?v=GhkA4XlqWds&list=PLTtHvbtVBhk6zAqSJ3A1-shsD_h5i3IuP&index=2

之后: https ://www.youtube.com/watch?v=507DdPOx1xA&list=PLTtHvbtVBhk6zAqSJ3A1-shsD_h5i3IuP&index=1


附加讨论(reddit:Solr):https ://old.reddit.com/r/Solr/comments/kt97ql/solr_query_with_space_only_q20_gives_error/

于 2021-01-09T01:46:35.673 回答