public static async Task ValidateIndexAsync(SearchIndexClient indexClient, string indexName, long numDocsIndexed)
        {
            SearchClient searchClient = indexClient.GetSearchClient(indexName);

            long indexDocCount = await searchClient.GetDocumentCountAsync();

            while (indexDocCount != numDocsIndexed)
            {
                Console.WriteLine("Waiting for document count to update...\n");
                Thread.Sleep(2000);
                indexDocCount = await searchClient.GetDocumentCountAsync();
            }
            Console.WriteLine("Document Count is {0}\n", indexDocCount);


            var indexStats = await indexClient.GetIndexStatisticsAsync(indexName);

            while (indexStats.Value.DocumentCount != numDocsIndexed)
            {
                Console.WriteLine("Waiting for service statistics to update...\n");
                Thread.Sleep(10000);
                indexStats = await indexClient.GetIndexStatisticsAsync(indexName);
            }
            Console.WriteLine("Index Statistics: Document Count is {0}", indexStats.Value.DocumentCount);
            Console.WriteLine("Index Statistics: Storage Size is {0}\n", indexStats.Value.StorageSize);
        }
 public async Task <SearchIndexStatistics> GetIndexStatisticsAsync()
 {
     try
     {
         return(await _indexClient.GetIndexStatisticsAsync(_indexName));
     }
     catch (RequestFailedException e) when(e.Status == (int)HttpStatusCode.NotFound)
     {
         return(null);
     }
 }