Я ищу клиента Python ElasticSearch, который может выполнять асинхронные запросы. Например, я хотел бы написать этот код,Есть ли клиент Python ElasticSearch, который поддерживает асинхронные запросы?
query1_future = es.search('/foobar', query1_json)
query2_future = es.search('/baz', query2_json) # Submit query 2 right after query 1, don't wait for its response
query1 = query1_future.get()
query2 = query2_future.get()
Однако, я не вижу каких-либо клиентов (PyES, или official client, например) с поддержкой этого. Кроме того, эти два знакомы с логикой запроса с логикой обработки ответов, поэтому их изменение очень сложно. Возможно, достаточным промежуточным решением было бы использовать асинхронную версию запросов, grequests?
Кроме того, стоит отметить, что ElasticSearch _msearch
может быть более эффективным, но для реальных приложений ему потребуется некоторая реструктуризация кода.