如何使用NEST(Elasticsearch)UpdateByQuery更新多个字段?

时间:2018-05-03 15:37:56

标签: c# elasticsearch nest

我正在使用UpdateByQuery,我想更新多个字段。在Elasticsearch文档中,它告诉您如何更新特定字段。 怎么做?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Nest,则应使用DocAsUpsert。为了做到这一点,首先进行查询,获取文档的_id然后根据它进行更新 这里的小例子,按id:

更新
 var updateResponse = EsClient.Update<Business, object>(DocumentPath<Business>.Id(elasticId), u => u
                         .Index(_elasticIndex)
                         .Type("business")
                         .Doc(new Business { Field1 ="xxxx", Field2 ="yyyy" })
                         .DocAsUpsert()
                         .Refresh(Refresh.True)
                     );