Elasticsearch.Net 和 NEST、GetResponse 文档 POCO?
Elasticsearch.Net and NEST, IGetResponse to document 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);
我的问题是我是否需要以某种方式将 IGetResponse<MyDocument>
转换为 MyDocument
?我在这里缺少某些步骤吗?
编辑: P.S.: result.Found
是 true
所以它肯定能成功获取文档
想通了:我想要的 IGetResponse<MyDocument>
上的 属性 是 Source
。它是实际的文档对象。
例如:
IGetResponse<MyDocument> result = Client.Get<MyDocument>(request);
if (result.Found)
{
MyDocument myDocument = result.Source;
}
来自文档:
Get() 调用 returns 一个 IGetResponse,它保存请求的文档以及从 Elasticsearch 返回的其他元数据。
response.Source 持有文件。
我正在使用 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);
我的问题是我是否需要以某种方式将 IGetResponse<MyDocument>
转换为 MyDocument
?我在这里缺少某些步骤吗?
编辑: P.S.: result.Found
是 true
所以它肯定能成功获取文档
想通了:我想要的 IGetResponse<MyDocument>
上的 属性 是 Source
。它是实际的文档对象。
例如:
IGetResponse<MyDocument> result = Client.Get<MyDocument>(request);
if (result.Found)
{
MyDocument myDocument = result.Source;
}
来自文档:
Get() 调用 returns 一个 IGetResponse,它保存请求的文档以及从 Elasticsearch 返回的其他元数据。
response.Source 持有文件。