我对 Solr 长期运行查询遇到的问题有一个理论,但我不知道它是否正确,也不知道如何测试它。
我正在使用 cURL 从应用程序查询 Solr。 cURL 的配置方式是,如果 Solr 在 3 秒内未发送响应,它将放弃并断开连接,从而允许托管 cURL 的应用程序在没有 Solr 请求的数据的情况下继续运行。理论上来说,cURL 断开连接后,Solr 仍然继续在后台处理查询。
这是 Solr 所做的吗?如果是这样,是否有配置选项可以更改此行为?有没有真正的方法来测试这种行为?
Solr 不会使查询超时。一个简单的测试是在几秒钟后使用 3 秒内未完成的相同查询再次访问服务器。如果查询缓存等配置正确,那么您应该(几乎)立即得到响应。这表明当客户端断开连接时查询执行没有中断。 (这个测试不太可靠,可能有很多其他因素导致查询第二次执行得更快)
另请参阅this http://wiki.apache.org/solr/FAQ#Why_does_the_request_time_out_sometimes_when_doing_commits.3F
您可以尝试使用timeAllowed
参数描述here http://wiki.apache.org/solr/CommonQueryParameters#timeAllowed看看是否有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)