在Solr中超时查询

我命中了要通过自定义开发层进行Solr的查询,而我在该层中超时的一些查询仍在solr实例中。solr中是否有一个可用于使特定查询超时的参数

回答:

如Solr中所述,客户端断开连接后查询继续吗?并写在Solr常见问题解答中

在内部,Solr不会使任何请求超时-它使更新和查询都需要花费很长时间才能完全处理。

但是在FAQ的同一位置

但是,用于运行Solr的servlet容器可能会对所有请求施加任意超时限制。如果发现该值太低,请查阅Serlvet容器的文档。(在Jetty中,相关设置为“

maxIdleTime”,以毫秒为单位)

因此,您可以将容器配置为关闭长时间运行的请求,以使连接的HTTPClient收到关闭消息。

但是,这可能还不够,Solr可能仍在内部工作,从而在服务器上产生了负载。因此,可以使用common

timeAllowed参数。

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>

以上是 在Solr中超时查询 的全部内容, 来源链接: utcz.com/qa/398132.html

回到顶部