ElasticSearch, NEST, C# - 如何设置 rest_total_hits_as_int 请求参数?

ElasticSearch, NEST, C# - How to set rest_total_hits_as_int request parameter?

我正在更新代码以处理从 ElasticSearch 6 到 7 的更新。此版本更改了总命中数的工作方式 (documentation)。我是这个库的新手,我很难理解如何使用 NEST API 将 rest_total_hits_as_int 设置为请求参数。

我看到 selector 参数有一个 RequestConfiguration 方法。但是,RequestConfigurationDescriptor class 没有提到这个请求参数。

我在 ElasticSearch.Net GitHub 存储库中搜索了 rest_total_hits_as_intTotalHits 的 PR(希望找到添加了指定此请求参数的选项的提交),但我没有找到任何有用的信息。

任何人都可以提供有关如何在 C# 中设置此请求参数的帮助吗?

可在 NEST 7.x

中搜索 API
var client = new ElasticClient();

var response = client.Search<object>(s => s
    .TotalHitsAsInteger(true)
);

var client = new ElasticClient();
var request = new SearchRequest<object>()
{
    TotalHitsAsInteger = true
};

var response = client.Search<object>(request);

两者都产生

POST http://localhost:9200/<default_index>/_search?typed_keys=true&rest_total_hits_as_int=true 
{}

需要注意的一件事是 rest_total_hits_as_int 对高级客户端没有任何影响 - 它控制 JSON 结构以决定如何在响应中返回总点击数,但 NEST 7.x 将 JSON 数字和 JSON 对象反序列化为同一类型。 NEST 7.x 必须与 Elasticsearch 7.x.

一起使用