c#elasticsearch在多索引查询中推断文档类型

jm81lzqq  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(1)|浏览(275)

我正在对执行搜索查询 several indices 因此,在结果列表中可能有几种数据类型。
(我使用c#,.nest库获取结果)示例:

var queryResult = await _elasticClient.SearchAsync<object>(q => q
                .Query(s => s
                     /// ... some query logic doesn't really matter
                    )
                ).Index("index-name-1,index-name-2,index-name-3")

结果集可能是这样的:

[
 {
  "LastName": 0,
  "listType": [1,2,3],
  "Name": "alex"
 },
 {
  "amount": 5,
  "amountType": "usd"
 }
...
]
``` `queryResult.Documents` 我收到了所有这些数据 `Dictionary<string,string>` 类型,但我希望根据json类型将它们作为各种poco(普通的旧c#object)对象接收。基本上,我需要.nest来推断不同文档的索引,并根据poco对象来解析它们。
有没有办法通过.nest本身来确定索引类型,或者我可以使用一些json解析库来代替它 `Newtonsoft.Json` 
3z6pesqy

3z6pesqy1#

Nest7.x不执行任何json对象或索引到c类型的推断。但是,您可以使用同样保存类型信息的json序列化程序,以便序列化程序可以在反序列化时使用此信息来反序列化为正确的类型。

相关问题