【发布时间】:2021-10-17 17:25:26
【问题描述】:
我的数据库中有两个具有子/父关系的表,并创建了一个 Elasticsearch 索引,其中包含来自这两个表的记录的组合列表。父记录的Children 字段中可以有多个记录。如果我有两个表的两个索引并且想要部分更新每个索引,我会使用 NEST 使用这个命令:
await elasticClient.UpdateAsync<object>(id, u =>
u.Index(indexName).Doc(updatedFieldsCollection)
);
但问题是我的索引不是一个简单的索引,每个父级的所有子记录都在其children 字段中,这是一个列表,所以当我的子表中的记录被更新时,我不确定我该怎么做在 Elasticsearch 索引中找到该条目并对其进行部分更新。下面的查询似乎识别了我正在寻找的记录,但与上面的命令不同,没有.Doc 方法可以用来部分更新我感兴趣的索引部分(这是上的子元素之一Children列表):
await elasticClient.UpdateByQueryAsync<ChildParentModel>(u => u
.Query(q => q
.Term(f => f
.Children.First().Uid, id)
)
);
知道我该怎么做吗?
【问题讨论】:
标签: elasticsearch nest