elasticsearch,aws-elasticsearch,Python,elasticsearch,Aws Elasticsearch" /> elasticsearch,aws-elasticsearch,Python,elasticsearch,Aws Elasticsearch" />

Python elasticsearch多搜索超时

Python elasticsearch多搜索超时,python,elasticsearch,aws-elasticsearch,Python,elasticsearch,Aws Elasticsearch,我已经成功地为不同的es主机使用了完全相同的代码,它工作得很好,但是当我尝试在不同的es主机中使用它时,它给了我很多好处 ConnectionTimeout:ConnectionTimeout由-ReadTimeout(HTTPSConnectionPool(host='search-production-fjexfhlafkqulrsxn5gkvzwnia.ap-northeast-2.es.amazonaws.com',port=443)引起:读取超时(读取超时=10)) 在创建多搜索时,我

我已经成功地为不同的es主机使用了完全相同的代码,它工作得很好,但是当我尝试在不同的es主机中使用它时,它给了我很多好处
ConnectionTimeout:ConnectionTimeout由-ReadTimeout(HTTPSConnectionPool(host='search-production-fjexfhlafkqulrsxn5gkvzwnia.ap-northeast-2.es.amazonaws.com',port=443)引起:读取超时(读取超时=10))

在创建多搜索时,我在每个查询中设置了
timeout
参数,我已经阅读了多搜索的相关文档,但是我找不到任何类型的超时参数

我的猜测是,在创建es客户端或创建多搜索时,我需要传递超时参数。有什么帮助吗

我的代码如下: awsauth=AWS4Auth('AKIAIALITIB7ZYLX3HFA','QWCb/I40T1UHFMPH79MN3Vu2YSWEXHH0PO/ri1',地区,服务)

它是常规搜索查询,我可以简单地传递'timeout'参数,就像我在msearch查询中对每个查询所做的一样

但是,在文档中没有处理msearch中超时的参数

根据它说的关于更改“端口”号的内容,我尝试了4439200和4439200,但都不起作用


编辑:一旦我运行了查询,因为有太多的数据要搜索,它正在使用99%的cpu,因此需要一段时间来完成搜索。当我只运行两个或三个查询时,它就可以工作。

通过以下方式更改请求中的超时:request\u timeout=30奇怪的是,这个查询有超时?你的文件有多大?您的群集中有多少个shart/副本?您的意思是将timeout=2h更改为request_timeout=30?我以前做过,它告诉我这不是正确的格式。每个查询大约有3000个查询,在一个msearch中大约有70个查询,所以有3000x70个文档。我有5个主要碎片和5个副本碎片。你不能获取超过10000个文档。是的,但它仍然可以获取多达10000个文档。
es = Elasticsearch(
    hosts=[{'host': es_host, 'port': 443}],
    http_auth=awsauth,
    use_ssl=True,
    verify_certs=True,
    connection_class=RequestsHttpConnection
)



 def create_msearch(dt):
    msearch = []
    for name in polygons:
        coordinates = polygons[name] 
        points = coord_list_to_dict(coordinates)

        msearch.append({})
        msearch.append({"_source":["date", "host","request_1","request_2", "location","status"], 
                             "query": 
                             {"bool" :
                              {"must": [{"match": {"request_3": "list"}}, 
                                        {"range":
                                         {"date":
                                          {"format":"strict_date_optional_time",
                                           "gte":f"{dt}T05:00:00.000Z",
                                           "lte":f"{dt}T10:00:00.000Z"}}}],
                               "filter" : {
                                   "geo_polygon" : {
                                       "location" : {
                                           "points" : points}}}}},
                             "size":"10000","timeout":"2h"})
    return msearch
response = es.msearch(index="index", body=create_msearch(date))