我使用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<>
的定义包含MaxScore
,TimedOut
等的数据成员。
我的问题是,如果要获取name
字段或aggr
中的某个存储桶的值,以相同的方式在我的代码中使用。我怎样才能做到这一点?请帮助。
注意:该文档仅说明了如何处理错误响应,我可以在调试器中看到.Documents
可能以某种方式存储了此错误,但是我无法检索数据(或者可能我不明白该怎么做)。因此,如果是这种情况,还请说明如何从.Documents
中获取它。
public class MyDocument
{
[PropertyName(Name = "name")]
public string Name {get;set;}
[PropertyName(Name = "profession")]
public string Profession {get;set;}
}
var response = client.Search<MyDocument>();