public bool OptimizeIndex(string indexName) { var response = _client.ForceMerge( Indices.Index(indexName), fmd => fmd .MaxNumSegments(1) .WaitForMerge(true) .Index(indexName) .RequestConfiguration(rcd => rcd.RequestTimeout(TimeSpan.FromSeconds(90))) ); if (!response.IsValid) { throw new Exception("Error Optimizing index, " + indexName, response.OriginalException); } //An expected response has 1 shard that was successful. if ( response.Shards.Total != 1 || response.Shards.Successful != 1 || response.Shards.Failed != 0 ) { throw new Exception("Error Optimizing index," + indexName + " optimize finished unexpected response"); } return(true); //The task succeeded. }
public bool OptimizeIndex(string indexName) { var response = _client.ForceMerge( Indices.Index(indexName), fmd => fmd .MaxNumSegments(1) .WaitForMerge(true) .Index(indexName) .RequestConfiguration(rcd => rcd.RequestTimeout(TimeSpan.FromSeconds(90))) ); if (!response.IsValid) { _logger.LogError("Error Optimizing index, '{0}'.", indexName); _logger.LogError("Returned debug info: {0}.", response.DebugInformation); throw new Exception("Error Optimizing index, " + indexName, response.OriginalException); } // An expected response has at least one shard and none that failed. if ( response.Shards.Total < 1 || response.Shards.Successful != response.Shards.Total || response.Shards.Failed != 0 ) { _logger.LogError("Shard count: Total: {0}, Successful : {1}, Failed {2}", response.Shards.Total, response.Shards.Successful, response.Shards.Failed); throw new Exception("Error Optimizing index," + indexName + " optimize finished unexpected response"); } return(true); //The task succeeded. }