Optimal Elasticsearch Extraction Batch Size?

I'm working on a project that extracts massive amounts of data from Elasticsearch in batches, one at a time from a group of indexes. It takes "batch_size" documents, does some work on them, then grabs the next "batch_size" documents until it's worked on all of them. Any advice on what's the most optimal batch size? These documents are extensive and a few fields often contain nested JSON, so I don't want to take too many and bloat the RAM, or make requests take too long. Each document appears to be 0.01 MB in size on average, and as such size scales linearly (200 documents = 2 MB on average, 1000 docs = 10 MB, etc). Any help would be greatly appreciated, thanks!