0

我正在将 SolrClient 用于带有 Solr 6.6.2 的 python。它按预期工作,但我在打开连接后在关闭连接的文档中找不到任何内容。

def getdocbyid(docidlist):
    for id in docidlist:
        solr = SolrClient('http://localhost:8983/solr', auth=("solradmin", "Admin098"))
        doc = solr.get('Collection_Test',doc_id=id)
        print(doc)

我不知道客户端是否自动关闭它。如果没有,如果多个连接保持打开状态,这不是问题吗?我只想知道是否有任何方法可以关闭连接。这是文档的链接: https ://solrclient.readthedocs.io/en/latest/

4

1 回答 1

1

连接不会无限期地保留。据我所知,Jetty 中任何持久 http 连接的标准超时时间为 5 秒,因此您不必担心保持活动的连接数量会爆炸。

如果需要,Jetty 服务器也只会断开连接,因为不需要保留它作为对客户端的保证。solrclient在内部使用请求会话,因此它应该为后续查询进行流水线处理。如果您遇到此问题,您可以在应用程序中保留一组可用的客户端作为池,然后请求一个可用的客户端,而不是每次都创建一个新的客户端。

但是,我很确定您不会遇到默认设置的任何问题。

于 2019-07-26T21:21:49.227 回答