NEST:从ElasticSearch中的搜索响应(ISearchResponse)获取数据的问题

问题描述 投票:0回答:1

我使用NEST编写了C#代码,该代码对我的ES数据库进行搜索查询。我可以看到这些查询成功,并通过Postman提供了json响应正文。我想在我的代码中使用这些响应。例如,

ISearchResponse<class> myquery = client.Search<class>(...)(一些成功的api调用)

响应主体类似于:

{
  "took": 5,
  ...
  ...
  "hits": {
    "max_score": 1.2,
    "hits": [
      {
        "_index": "sample",
        ...
        "_source": {
          "name": "generic name",
          "profession": "lawyer",
          ...
        }
      }
    ]
  }
    "aggs" : {
       ...
    }
}

我可以通过执行myquery.Took来获得“ took”值。同样,我可以看到ISearchResponse<>的定义包含MaxScoreTimedOut等的数据成员。

我的问题是,如果要获取name字段或aggr中的某个存储桶的值,以相同的方式在我的代码中使用。我怎样才能做到这一点?请帮助。

注意:该文档仅说明了如何处理错误响应,我可以在调试器中看到.Documents可能以某种方式存储了此错误,但是我无法检索数据(或者可能我不明白该怎么做)。因此,如果是这种情况,还请说明如何从.Documents中获取它。

c# elasticsearch nest elasticsearch-aggregation
1个回答
0
投票
public class MyDocument { [PropertyName(Name = "name")] public string Name {get;set;} [PropertyName(Name = "profession")] public string Profession {get;set;} } var response = client.Search<MyDocument>();
© www.soinside.com 2019 - 2024. All rights reserved.