private void createIndexIfNotExist(Client client) {
   try {
     client.admin().indices().prepareCreate(INDEX_NAME).execute().actionGet();
     RecoveryResponse response =
         client.admin().indices().prepareRecoveries(INDEX_NAME).execute().actionGet();
     int shards = response.getTotalShards();
     client
         .admin()
         .cluster()
         .prepareHealth(INDEX_NAME)
         .setWaitForActiveShards(shards)
         .setWaitForYellowStatus()
         .execute()
         .actionGet();
   } catch (IndexAlreadyExistsException e) {
     // ignore
   }
 }