Я успешно использовал один и тот же код для разных хостов, и он работал нормально, однако, когда я пытаюсь использовать его на разных хостах, он дает мне ConnectionTimeout: ConnectionTimeout caused by - ReadTimeout(HTTPSConnectionPool(host='search-production-fjexfhlafkqulrsxn5gkvzwnia.ap-northeast-2.es.amazonaws.com', port=443): Read timed out. (read timeout=10))
Я установил timeout
параметр внутри каждого запроса при создании множественного поиска, я прочитал https://elasticsearch-py.readthedocs.io/en/master/api.html и документацию по многопоточному поиску, однако я не могу найти какой-либо параметр тайм-аута.
Я думаю, мне нужно передать Параметр тайм-аута при создании клиента или при многопоточном поиске. Любая помощь?
мой код выглядит следующим образом: awsauth = AWS4Auth ('AKIAIALITIB7ZYLX3HFA', 'QWCb / I40T1UHfmPHm79mN3VU2ySwExhHh0PO / ri1', регион, сервис)
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))
* это обычный поиск Я могу просто передать параметр 'timeout', как я делал для каждого запроса внутри запроса msearch.
Однако в документации https://elasticsearch-py.readthedocs.io/en/master/api.html#elasticsearch нет параметра, который бы учитывал время ожидания в msearch.
В соответствии с Тайм-аут соединения с Elasticsearch он говорит что-то об изменении номера порта, я пробовал оба 443, 9200, и оба они не работают.
РЕДАКТИРОВАТЬ: как только я запускаю запрос, так как слишком много данных для поиска, он использует 99% процессора, таким образом, требуется некоторое время для завершения поиска. Это работает, когда я запускаю только два или три запроса.