Elasticsearch generally allows you to quickly search across big amounts of data. There are situations where a search executes on many shards, possibly against large data sets or multiple remote clusters, for which results are not expected to be returned in milliseconds. When you need to execute long-running searches, synchronously waiting for its results to be returned is not ideal. Instead, Async search lets you submit a search request that gets executed asynchronously, monitor the progress of the request, and retrieve results at a later stage. You can also retrieve partial results as they become available but before the search has completed.
You can submit an async search request using the submit async search API. The get async search API allows you to monitor the progress of an async search request and retrieve its results. An ongoing async search can be deleted through the delete async search API.
Intro to Kibana
ELK for Logs & Metrics