当solr接收没q参数(或q参数值为空)请求时,会报错。对开发调试时才比较有用,但实际运行环境报错就不太好了,java异常可能有点性能消耗,那干脆就返回正常的结果好了(只是结果里没有找到的数据)。
solr 1.3 可以写个组件去做。判断到空的时候,加一个q参数,其值为在索引里没有的数据。这样就可以返回没有数据的结果。
其实这样实现还是比较麻烦。可以在 solrconfig.xml的requestHandler里加一个默认参数。如q=abcdefghijk。配置如下:
<requestHandler name="standard" class="solr.SearchHandler" default="true">
<lst name="defaults">
<str name="q">abcdefghijk</str>
</lst>
</requestHandler>
这样的话查询容错性比较好,查询请求没有带q参数也可,q参数值为空也可。tomcat不会报错,还可以返回结果。
标签:查询,容错性,报错,参数,abcdefghijk,solr From: https://blog.51cto.com/u_2650279/6143457