我通过自定义开发的图层查询solr,我在我的图层中超时的几个查询仍然在solr实例中。 solr中是否有可用于超时特定查询的参数
答案 0 :(得分:9)
如Solr query continues after client disconnects?和written in the Solr FAQ
中所述在内部,Solr没有做任何超时任何请求的事情 - 它允许更新和查询需要花费很长时间才能完全处理。
但在FAQ的同一地点写的
但是,用于运行Solr的servlet容器可能会对所有请求施加任意超时限制。如果您发现此值太低,请参阅Serlvet容器的文档。 (在Jetty中,相关设置为" maxIdleTime"以毫秒为单位)
因此,您可以将容器配置为关闭长时间运行的请求,以便连接的HTTPClients接收关闭。
然而,这可能还不够,尽管在服务器上产生负载,Solr仍然可以在内部工作。因此可能会使用the common timeAllowed parameter。
timeAllowed - 此参数指定搜索完成所允许的时间量(以毫秒为单位)。如果此时间在搜索完成之前到期,则将返回任何部分结果。
使用每个请求或在solrconfig.xml中配置为默认值。
<requestHandler name="standard" class="solr.StandardRequestHandler" default="true">
<lst name="defaults">
<!-- other parts left out -->
<!-- timeout (in milliseconds) -->
<int name="timeAllowed">5000</int>
</lst>
</requestHandler>