Posted On: Apr 21, 2021

Amazon Elasticsearch Service now supports Asynchronous Search. Asynchronous search lets you submit a query 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 even before the search has fully completed. Once the search completes, it can be stored for consumption at a later time up to an expiry duration.

Asynchronous Search can be a great solution for setups with large volume of data, cross-cluster search, or Ultrawarm where users need to run query with wildcard parameters that may need to scan almost the entire dataset or multiple clusters. With the regular Search API the query can take a lot longer than average and it can timeout even before the result set becomes available. With Asynchronous Search, if the query is taking longer you can retrieve the results that have been collated so far and continue to go back for more results as and when they become available. The Asynchronous Search continues to run in the background and collect results till the entire result set is available, which can then be persisted in an index for later use. You can also monitor the Asynchronous Search requests via the metrics published to Amazon CloudWatch.

Asynchronous Search API was released recently as part of Open Distro for Elasticsearch v1.13.0, an Apache 2.0-licensed distribution of Elasticsearch and supports Elasticsearch version 7.10.

Asynchronous Search API on Amazon Elasticsearch Service is available immediately in 25 regions globally, including the Amazon Web Services China (Beijing) region, operated by Sinnet and the Amazon Web Services China (Ningxia) region, operated by NWCD. Please refer to the Amazon Web Services Regional Services List for more information about Amazon Elasticsearch Service availability.