当前位置: 首页 > 面试题库 >

在Solr中超时查询

弘承业
2023-03-14
问题内容

我命中了要通过自定义开发层进行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>


 类似资料:
  • 我们刚刚从DataStax Enteprise 3.2.2升级到4.5.1。我们从3.2.2->3.2.5->4.0.3->4.5.1迁移,每次都遵循文档中的过程,并在每次升级后升级sstables。 服务器正在运行,核心正常接受查询。 出于某种原因,我们得到了solr/c*/dse的默认配置,通常连接超时到solr。我们所激发的查询与使用启用Solr的DSE 3.2.2时激发的查询没有什么不同,

  • 如何在应用程序级别配置默认查询超时。我使用spring、hibernate和db2作为后端。在datasource级别设置超时不是一个选项,因为我们使用的是旧版本的IBM WebSphere。我尝试在事务管理器中配置defaultTimeout,但这没有帮助。我也不想集成c3p0连接池。hibernate是否为在应用程序级别设置全局查询超时提供了其他选项,如果是,如何配置。

  • 问题内容: 我想将超时添加到pg- promise查询,以便如果数据库尚未响应,则在一段时间后它们将失败。有什么建议的方法吗?还是我应该做一个可以处理定时器并拒绝诺言的自定义包装器(如果为时已晚)? 问题答案: 来自pg-promise的作者… pg-promise不支持查询取消,因为它可以解决数据库设计错误或查询执行不正确的问题。 PostgreSQL支持在执行耗时的查询时应使用的事件,因此无需

  • 我是solr的初学者,我发现查询 因此,如何使这个查询工作我的模式是

  • 如何在下面的本机搜索查询中添加查询超时?

  • 主要内容:检索记录除了存储数据,Apache Solr还提供了一些在需要时查询数据的功能。 Solr提供了一些参数,可以使用它们来在查询存储的数据。 在下表中,我们列出了Apache Solr中提供的各种常用的一些查询参数。 参数 描述 q 这是Apache Solr的主要查询参数,文档根据它们与此参数中的术语的相似性来评分。 fq 这个参数表示Apache Solr的过滤器查询,将结果集限制为与此过滤器匹配的文档