public void Create(DataSet dataSet, bool withSchema) { try { GlobalStore.DataSets.AddBusy(dataSet.Name); var indexName = GenerateIndexName(); if (!withSchema) { indexQuery.CreateIndex( dataSet.Name, indexName, dataSet.NGramCount, dataSet.SampleDocument, dataSet.IdField, dataSet.InterpretedFields, dataSet.TagField); } else { indexQuery.CreateIndexWithSchema( dataSet.Name, indexName, dataSet.NGramCount, dataSet.Schema, dataSet.IdField, dataSet.InterpretedFields, dataSet.TagField); } AddGlobalStoreInternal(dataSet.Name, indexName, dataSet); } finally { GlobalStore.DataSets.RemoveBusy(dataSet.Name); } }