C#使用Elasticsearch获得原始查询(NEST)

OnRequestCompleted方法中可以获得原始查询和查询结果
关键代码如下

ElasticClient elasticClient = new ElasticClient(new ConnectionSettings(new Uri(address))
                //打印请求、回复,可能影响性能
                .DisableDirectStreaming()
                .OnRequestCompleted(apiCallDetails =>
                {
                    if (apiCallDetails.Success)
                    {
#if DEBUG
                        string infos = GetInfosFromApiCallDetails(apiCallDetails);
                        Console.WriteLine(infos);
#endif
                    }
                    else
                    {
                        string infos = GetInfosFromApiCallDetails(apiCallDetails);
                        Console.WriteLine(infos);
                    }
                }));

private string GetInfosFromApiCallDetails(IApiCallDetails r)
{
    string infos = "";
    infos += $"Uri:\n{r.Uri}\n";
    infos += $"Success:\n{r.Success}\n";
    infos += $"SuccessOrKnownError:\n{r.SuccessOrKnownError}\n";
    infos += $"HttpMethod:\n{r.HttpMethod}\n";
    infos += $"HttpStatusCode:\n{r.HttpStatusCode}\n";
    infos += $"DebugInformation:\n{r.DebugInformation}\n";
    foreach (var deprecationWarning in r.DeprecationWarnings)
        infos += $"DeprecationWarnings:\n{deprecationWarning}\n";
    if (r.OriginalException != null)
    {
        infos += $"OriginalException.GetMessage:\n{r.OriginalException.Message}\n";
        infos += $"OriginalException.GetStackTrace:\n{r.OriginalException.Message}\n";
    }
    if (r.RequestBodyInBytes != null)
        infos += $"RequestBody:\n{Encoding.UTF8.GetString(r.RequestBodyInBytes)}\n";
    if (r.ResponseBodyInBytes != null)
        infos += $"ResponseBody:\n{Encoding.UTF8.GetString(r.ResponseBodyInBytes)}\n";
    infos += $"ResponseMimeType:\n{r.ResponseMimeType}\n";
    return infos;
}

输出结果如下

Uri:
http://xxxxxx:9200/stuAliasName/_search?typed_keys=true
Success:
True
SuccessOrKnownError:
True
HttpMethod:
POST
HttpStatusCode:
200
DebugInformation:
Successful (200) low level call on POST: /stuAliasName/_search?typed_keys=true
# Audit trail of this AP
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值