private void SeedIndexData() { Console.WriteLine("Bulk importing starting ..."); var folder = Path.Combine(this.RoamingFolder, "server_metrics"); Enumerable.Range(1, 4).ToList().ForEach(i => { var metricsFile = Path.Combine(folder, $"server-metrics_{i}.json"); var bulkResponse = this.Client.LowLevel.Bulk <BulkResponse>( File.ReadAllBytes(metricsFile), r => r .RequestConfiguration(rc => rc .RequestTimeout(TimeSpan.FromMinutes(3) ) ) ); if (!bulkResponse.Success || (bulkResponse.Body != null && !bulkResponse.Body.IsValid)) { // only use the Audit trail as failed bulk items will be YUGE var sb = new StringBuilder(); ResponseStatics.DebugAuditTrail(bulkResponse.AuditTrail, sb); throw new Exception($"Problem seeding server-metrics data for machine learning: {sb}"); } Console.WriteLine($"Indexed docs from {metricsFile}"); }); Console.WriteLine("Bulk importing finished."); }
private void SeedIndexData() { Console.WriteLine("Bulk importing starting ..."); var folder = Path.Combine(RoamingFolder, "server_metrics"); Enumerable.Range(1, 4) .ToList() .ForEach(i => { var metricsFile = Path.Combine(folder, $"server-metrics_{i}.json"); // TODO: Remove metric type from server-metrics files. Remove this when example is patched for 7.x var fileContents = File.ReadAllText(metricsFile); fileContents = fileContents.Replace(",\"_type\":\"metric\",", ","); var bulkResponse = Client.LowLevel.Bulk <BulkResponse>( fileContents, new BulkRequestParameters { RequestConfiguration = new RequestConfiguration { RequestTimeout = TimeSpan.FromMinutes(3) } }); if (!bulkResponse.ApiCall.Success || !bulkResponse.IsValid) { // only use the Audit trail as failed bulk items will be YUGE var sb = new StringBuilder(); ResponseStatics.DebugAuditTrail(bulkResponse.ApiCall.AuditTrail, sb); throw new Exception($"Problem seeding server-metrics data for machine learning: {sb}"); } Console.WriteLine($"Indexed docs from {metricsFile}"); }); Console.WriteLine("Bulk importing finished."); }