Index Request to Searchable - Latency

We're considering Elasticsearch for our data search solution and are wondering about the latency between the request to index a document and when the document becomes searchable. How long after a request to index a document is received will that document be surfaced via the search APIs?

I recognize that this is a relatively vague question and depends on a variety of factors but I'm looking to get an idea at least of the order of magnitude. Are we talking seconds or minutes? We would be expecting to generate a few dozen indexing requests per second at peak and would like to see the documents searchable as quickly as possible.

Also is the indexing request a blocking call? Does Elasticsearch return "SUCCESS" once the request is received or does it wait until the document has been indexed successfully?

Take a look at
https://www.elastic.co/guide/en/elasticsearch/guide/current/near-real-time.html
Once a document is indexed it is usually available for search within a second or so. You can change the setting a bit, but it could impact performance.

I believe ElasticSearch will return a success message once the request has been written to the primary and replica shards. Then a second or so later it will become searchable. However I don't remember where I heard that so I might be wrong.

That is correct in 2.X. in 1.X you got the OK after we wrote to the primary.