code: @Override
      public WriteResult writeSingle(String key) throws Exception {
          logger.debug("writeSingle: {}", key);
  
          return writer.writeDocument(restClient, key, randomizeKeys);
      }
docs: Writes either one or many documents to Elasticsearch -- multiple documents will be written
  if {@link IEsConfig#getBulkWriteBatchSize()}()} is greater than 0, and in this case the
  exact number to be written per call is defined by the return value of that same method:
  {@link IEsConfig#getBulkWriteBatchSize()}.
  <p>
  Note that the passed-in key will be appended with random string values -- if we were to choose the
  ids of the docs we write to elastic search from the set of keys that is allocated per numKeys we would
  end up PUT'ing the same document to elastic search multiple times, and the subsequent time the document
  were written to elasticearch it would be counted as an update -- not a new document -- with the result that
  the deleted doc count (as given by /_cat/indices) would go up, and the document count  would stay the
  same, which would likely be confusing to whoever is running a benchmark.