json - 使用Elasticsearch Nest客户端和Utf8Json序列化器时如何捕获与任何POCO属性都不匹配的JSON数据的剩余部分

标签 json elasticsearch .net-core nest utf8json

我正在使用C#Elastic Nest客户端从Elasticsearch检索数据。我创建了一个名为IndexModel的POCO类,该类对应于我的“测试索引”索引的索引映射。我使用以下搜索方法从索引中获取所有数据:

var result = client.Search<IndexModel>(s => s
                .Index("testing-index")
                .MatchAll());
但是,我也希望能够收集未能成功映射到任何POCO属性的json数据,例如当索引映射更改时。我知道Nest将Utf8Json用作Json序列化器,但是我找不到在System.Text.Json.Serialization中是否有可能在某些字典上方添加数据注释,以捕获所有溢出的json数据。像这样吗
[JsonExtensionData]
public Dictionary<string, object> ExtensionData { get; set; }
还是有可能 flex 客户端处理它并以某种方式通知我某些数据与POCO属性不匹配?

最佳答案

客户端中没有此功能。
选项是定义POCO来表示文档,或者使用可以处理任意JSON结构的类型,例如使用 JsonNetSerializer JObject来表示文档。

关于json - 使用Elasticsearch Nest客户端和Utf8Json序列化器时如何捕获与任何POCO属性都不匹配的JSON数据的剩余部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63415507/

相关文章:

c# - 无需依赖注入(inject)即可访问配置

c# - ContentType 中提供的字符集无效

c# - FluentValidation.NET 等同于 [Display(Name)]

elasticsearch - Kafka JDBC连接器加载所有数据,然后增量

performance - 像 sphinx 一样在ElasticSearch中分页结果

ruby-on-rails - 全局化轮胎 Elasticsearch 和重音折叠

php - 如何在 PHP 中访问更深层次的 JSON 对象

javascript - 谷歌折线图将时间转换为数字

java - gson 创建损坏的 json 文件

java - Json格式错误显示