Example #1
0
        private static async Task SeedCollectionAsync(string seedList, string indexName)
        {
            var result = new SearchInitResponse();

            try
            {
                var commandRepository = new SeachCommandRepository <TDocument>();
                {
                    await commandRepository.AzureSearchService.LoadIndexesAsync();

                    var seeds = JsonConvert.DeserializeObject <List <TDocument> >(seedList);
                    var del   = await commandRepository.DeleteIndex(indexName);

                    var insert = await commandRepository.CreateDocumentsInIndex(seeds, indexName);

                    if (!del)
                    {
                        result.MessageList.Add("Delete failed");
                    }

                    if (!insert)
                    {
                        result.MessageList.Add("Insert failed");
                    }
                }
            }
            catch (Exception ex)
            {
                ElmahLogger.LogError(ex);
            }
        }
Example #2
0
        private static async Task <SearchInitResponse> SeedCollectionAsync(string seedList, string indexName)
        {
            var result = new SearchInitResponse();

            try
            {
                var queryRepository = new SearchQueryRepository <TDocument>();

                var commandRepository = new SeachCommandRepository <TDocument>();
                {
                    await queryRepository.LoadIndexesAsync();

                    var seeds = JsonConvert.DeserializeObject <List <TDocument> >(seedList);
                    var del   = await commandRepository.DeleteIndex(indexName);

                    var insert = await commandRepository.CreateDocumentsInIndex(seeds, indexName);

                    var stats = await queryRepository.GetIndexStatistics(indexName);

                    var indexes = await queryRepository.GetIndexes();

                    if (!del)
                    {
                        result.MessageList.Add("Delete failed");
                    }

                    if (!insert)
                    {
                        result.MessageList.Add("Insert failed");
                    }

                    result.StorageSize   = stats.StorageSize.ToString(CultureInfo.InvariantCulture);
                    result.DocumentCount = stats.DocumentCount.ToString(CultureInfo.InvariantCulture);
                    result.Indexes       = indexes.ToList().Select(x => x.Name).ToList();
                }
            }
            catch (Exception ex)
            {
                ElmahLogger.LogError(ex);
            }

            return(result);
        }
 public SearchCommandService()
 {
     this.repository = new SeachCommandRepository <TDocument>();
 }