【发布时间】:2019-05-03 01:12:44
【问题描述】:
我正在使用 Nest 在 Elasticsearch 中插入/更新文档。这是我用来映射文档的示例 POCO 类...
public class MyClass
{
public string Id { get; set; }
public decimal? MyField { get; set; }
}
这按预期工作...当我添加文档时,如果可空字段 MyField 有一个值,它会在 JSON 中返回。如果可空字段没有值,则不会在 _source JSON 中返回,因为未存储空值。
但是,有时我需要更新单个文档并从单个字段中删除值。也就是说,当我第一次插入文档时,MyField 有一个值,并在 Elasticsearch JSON 结果中返回。之后,无论出于何种原因,我都需要删除该值。
我正在使用部分文档更新,如果可能,我更愿意保持这种状态。 (我使用的完整文档模型将有 100 多个字段,而我的索引最终将有 1 亿多条记录。)因此,我正在寻找最有效的方法来部分更新文档。
提前致谢!
【问题讨论】:
标签: c# elasticsearch .net-core nest