2016-07-27 9 views
0

私はElasticsearch .NETクライアントライブラリ(Elasticsearch.NetとNEST)を使用するアプリケーションで作業しています。Elasticsearch 1.xから2.xへの変換の一環として、以前はIElasticSearchResponseで公開されていた一部のデータに相当する。私たちの1.xの実装ではIElasticSearchResponse.NumberOfRetriesのElasticsearch.Net 2.xに相当するものは何ですか?

は、我々はConnectionSettings.SetConnectionStatusHandler()に供給されたメソッド内で、次のロジックを行わ:2.xで

private static void LogElasticSearch1DotXMetrics(IElasticsearchResponse resp) 
    { 
     if (resp.NumberOfRetries > 0) 
      PerformSomeLoggingOperationOn(resp.NumberOfRetries); 
    } 

を、私はConnectionSettings.SetConnectionStatusHandler()と同等の方法を渡すことであると信じていますConnectionSettings.OnRequestCompleted()にこのメソッドはIApiCallDetailsインスタンスを受け取ります。

private static void LogElasticSearch2DotXMetrics(IApiCallDetails details) 
    { 
     PerformSomeLoggingOperationOn(details.??????); 
    } 

私はIApiCallDetailsIElasticSearchResponse.NumberOfRetriesための明白な同等のものを見つけることができませんでした。誰かが私を正しい方向に向けることができますか?

+0

詳細情報がありますか.AuditTrail.Sum(x => x.Node.FailedAttempts)? –

答えて

0

私はこの質問をElasticsearchのサポートに入れました。他の誰かが役に立つと思った場合には、ここでその回答をまとめています。

Elasticsearch.NET 2.xのNumberOfRetriesに直接相当するものはありません。ただし、再試行の最大回数に達した場合のイベントがあります。また

var maxRetriesReached = callDetails.AuditTrail 
    .Any(a => a.Event == AuditEvent.MaxRetriesReached); 

あなたではなく、クエリが放棄されたかどうかよりも、再試行の回数で本当に興味があるなら、あなたはまた、BadResponseイベントの監査証跡を観察することができました。

var badResponses = callDetails.AuditTrail 
    .Any(a => a.Event == AuditEvent.BadResponse); 
関連する問題