我正在寻找可以发出异步请求的 ElasticSearch Python 客户端。例如,我想写这段代码,
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 或官方客户)。此外,我熟悉的两个将请求逻辑与响应处理逻辑结合起来,因此自己修改它们似乎很困难。也许一个足够的临时解决方案是使用请求的异步版本grequests?
此外,值得指出的是,ElasticSearch_msearch
可能是一个性能更好的选择,但对于实际应用程序,它需要一些代码重组。