【发布时间】:2016-08-11 13:00:22
【问题描述】:
我正在开发一个使用 Elasticsearch .NET 客户端库(Elasticsearch.Net 和 NEST)的应用程序,作为从 Elasticsearch 1.x 到 2.x 转换的一部分,我正在尝试解决之前通过 IElasticSearchResponse 公开的一些数据的 2.x 等价物。
在我们的 1.x 实现中,我们在提供给 ConnectionSettings.SetConnectionStatusHandler() 的方法中执行了以下逻辑:
private static void LogElasticSearch1DotXMetrics(IElasticsearchResponse resp)
{
if (resp.NumberOfRetries > 0)
PerformSomeLoggingOperationOn(resp.NumberOfRetries);
}
在 2.x 中,我认为相当于ConnectionSettings.SetConnectionStatusHandler() 的就是将一个方法传递给ConnectionSettings.OnRequestCompleted()。此方法将收到一个IApiCallDetails 实例。
private static void LogElasticSearch2DotXMetrics(IApiCallDetails details)
{
PerformSomeLoggingOperationOn(details.??????);
}
我无法在IApiCallDetails 上找到IElasticSearchResponse.NumberOfRetries 的明显等价物。谁能指出我正确的方向?
【问题讨论】:
-
可以是 details.AuditTrail.Sum(x => x.Node.FailedAttempts) 吗?
标签: elasticsearch elasticsearch-net