首页 > 解决方案 > elasticsearch connectionTimeout 即使设置 timeout=100

问题描述

我的代码是不言自明的,因此不会提供其他详细信息

es = Elasticsearch(['http://localhost:9200'])
e1={
    "first_name":"nitin",
    "last_name":"panwar",
    "age": 27,
    "about": "Love to play cricket",
    "interests": ['sports','music'],
    "timeout":100,
   #"request_timeout":100 gives same error
}
res = es.index(index="test", doc_type="employee", id=1, body=e1)

我已经阅读了大多数有关此错误的帖子,但是他们所谈论的只是增加对我不起作用的超时。

这是错误:

ConnectionTimeout: ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host='localhost', port=9200): Read timed out. (read timeout=10))

标签: elasticsearch

解决方案


您正在尝试在体内设置超时。您应该使用 timeout 参数初始化 elasticsearch 客户端,或者根据客户端库,可能有单个请求的请求参数。

取决于上下文的参数主体通常是实际的搜索查询或数据文档(您的情况)。在正文中给出超时将使elasticsearch 将其视为在您的情况下要作为文档索引的数据。


推荐阅读