As fast as Elasticsearch is, it can be faster still. Combining multiple
requests into one avoids the network overhead of processing each request
individually. If you know that you need to retrieve multiple documents from
Elasticsearch, it is faster to retrieve them all in a single request by using the
multi-get, or mget, API, instead of document by document.

The mget API expects a docs array, each element of which specifies the
_index, _type, and _id metadata of the document you wish to retrieve. You
can also specify a _source parameter if you just want to retrieve one or
more specific fields:

The response body also contains a docs array that contains a response
per document, in the same order as specified in the request. Each of these
responses is the same response body that we would expect from an individual
get request:

The fact that the second document wasn’t found didn’t affect the retrieval of
the first document. Each doc is retrieved and reported on individually.

The HTTP status code for the preceding request is 200, even though one
document wasn’t found. In fact, it would still be 200 if none of the
requested documents were found—because the mget
request itself completed successfully. To determine the success or failure of
the individual documents, you need to check the found flag.