gpt4 book ai didi

c# - 使用 NEST 在 Elasticsearch 中简单地更新现有文档

转载 作者:行者123 更新时间:2023-11-30 20:20:44 31 4
gpt4 key购买 nike

嘿,我试图更新 ElasticSearch 的现有 document,我从 Elasticsearch 站点找到了一个 cURL 代码注意:Sam 类型的 2 文档已经存在我只想更新现有字段

POST /EmployeeIndex/Sam/2/_update
{
"doc" : {
"Nested" : true,
"views": 0
}
}

它完全按照我的需要工作,但请帮助我将它转换为 NEST,因为我在 .NET 上工作,我设法编写了一个 code

 var responseUpdate = client.Update<clsEmployeeElasticSearch, object>(u => u
.Index("EmployeeIndex")
.Type("Sam")
.Id(2)
.Doc(new { Nested= true })
.RetryOnConflict(3)
.Refresh());

但它总是在我的 document 中创建一个新字段,而不是更新现有字段。请参阅附带的屏幕截图,其中包含代码 enter image description here请大家帮忙。

最佳答案

您需要的是 PartialUpdate .应用于您的示例,以下代码应该可以达到您的预期。

    var responseUpdate = client.Update<clsEmployeeElasticSearch, object>(u => u
.Index("EmployeeIndex")
.Type("Sam")
.Id(2)
.Doc(new {IsActive ="true", Views="0"})
.DocAsUpsert()
);

关于c# - 使用 NEST 在 Elasticsearch 中简单地更新现有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35653371/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com