如何解决带空间的 Solr 查询,仅 (#q=%20) 停顿
我有一个基于 Web 的前端(当前是 localhost),它使用 Ajax 来查询 Solr。
它运行良好,但如果我在输入/搜索框中提交一个空格(没有其他内容),则浏览器中的 URL 会显示
...#q=%20
在这种情况下,我得到一个 400 error
,我的网页停止(不刷新),显然是在等待 Solr 的响应。
相比之下,如果我提交的是分号 (;
) 而不是空格,则页面会立即刷新,尽管没有结果(displaying 0 to 0 of 0
;预期)。
我的问题是是什么触发了 Solr 中的“
”(%20
) 查询错误,以及如何在 solrconfig.xml
中解决它?
解决方法
更新。此 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/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。