[role="xpack"] [testenv="basic"] [[async-search-intro]] == Long-running searches {es} generally allows you to quickly search across big amounts of data. There are situations where a search executes on many many shards, possibly against <<frozen-indices,frozen indices>> and spanning multiple <<modules-remote-clusters,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,submit async search>> API. The <<get-async-search,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,delete async search>> API.