首页 > 解决方案 > 使用 NEST / Elasticsearch.Net 执行原始 JSON 请求

问题描述

使用纯 JSON 编写一些(高级)请求比使用 NEST 提供的语法更容易。接口中有一个CreatePostAsyncIElasticLowLevelClient但它专门使用IndexAPI。

我不想HttpClient直接使用 a ,因为那样我就缺少最大重试次数等功能。

是否可以使用 NEST / Elasticsearch.Net 客户端向 Elasticsearch(等)发出任何请求?GETPOST

标签: c#elasticsearchnest

解决方案


如果您想提出任何请求,您可以DoRequest/DoRequestAsync在低级客户端上使用

var lowLevelClient = new ElasticLowLevelClient();

var stringResponse = lowLevelClient.DoRequest<StringResponse>(
    HttpMethod.POST, 
    "_search", 
    PostData.Serializable(new
    {
        query = new { match_all = new { } }
    }));  

也暴露在高级客户端 NEST.LowLevel

var client = new ElasticClient();

var stringResponse = client.LowLevel.DoRequest<StringResponse>(
    HttpMethod.POST, 
    "_search", 
    PostData.Serializable(new
    {
        query = new { match_all = new { } }
    }));

推荐阅读