Elasticsearch.Net 和 NEST、IGetResponse 记录 POCO?

我正在使用client.Get<MyDocument>(getRequest)语法从 Elasticsearch 检索文档,但是我检索的文档IGetResponse基本上没用。它不包含我想要的文档字段,基本上只告诉我.Get成功(并包括我试图获取的文档的 ID)


这是我的代码:


TypeName typeName = TypeName.From<MyDocument>();

GetRequest request = new GetRequest(Index, typeName, new Id("R" + id));


// I can't get any of the fields I want from this object:

IGetResponse<MyDocument> result = Client.Get<MyDocument>(request);

我的问题是我需要以某种方式将 the 转换IGetResponse<MyDocument>为 aMyDocument吗?我在这里遗漏了一些步骤吗?


编辑: PS:result.Found是true所以它肯定在获得成功文件


潇潇雨雨
浏览 139回答 2
2回答

MYYA

从文档:Get() 调用返回一个 IGetResponse,其中包含请求的文档以及从 Elasticsearch 返回的其他元数据。response.Source 保存文档。

繁星点点滴滴

想通了:IGetResponse<MyDocument>我想要的属性是Source. 它是实际的文档对象。例如:IGetResponse<MyDocument> result = Client.Get<MyDocument>(request);if (result.Found){&nbsp; &nbsp; MyDocument myDocument = result.Source;}
打开App,查看更多内容
随时随地看视频慕课网APP