Generalized ESClient to allow other apps to create new indexes while running
updates and added DataProvider api