将嵌套字段映射到Elasticsearch中的顶级字段

时间:2019-09-23 15:50:46

标签: elasticsearch nest

我有一个Elasticsearch实例,其中使用包含字段定义的JSON文件对其进行了初始化。然后,我填充POCO对象的列表,并使用NEST调用IndexManyAsync来插入或更新文档。所有这些都很好。我现在有一小部分动态字段,这些字段将随着时间的推移添加到索引中。我试图提出一种解决方案,该解决方案不涉及在需要添加新字段时重新编译POCO类。我想出的唯一解决方案是向POCO对象添加“ additionalInfo”字典字段。这种方法的缺点是将动态字段作为子字段添加到AdditionalInfo:

"additionalInfo" : {
    "$type" : "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib]], mscorlib",
    "hello" : [
      "WORLD",
      "Everyone!"
    ],
    "foo" : [
      "BAR"
    ]
}

有没有办法让Elasticsearch忽略“ additionalInfo”,以便子字段成为根级字段?还是有更好的方法在POCO类中为动态字段建模?

0 个答案:

没有答案