【问题标题】:ElasticSearch, NEST, C# - How to set rest_total_hits_as_int request parameter?ElasticSearch、NEST、C# - 如何设置 rest_total_hits_as_int 请求参数?
【发布时间】:2020-12-01 11:33:56
【问题描述】:

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

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

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

谁能提供有关如何在 C# 中设置此请求参数的帮助?

【问题讨论】:

    标签: elasticsearch nest elasticsearch-7


    【解决方案1】:

    它在 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 一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 2020-11-28
      • 1970-01-01
      • 2022-09-25
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      相关资源
      最近更新 更多