【发布时间】:2020-04-07 08:35:11
【问题描述】:
我需要更新现有数据。
有没有比这更好的方法
检索旧数据->修改旧数据->删除旧索引->创建新索引->批量插入新数据
这似乎有点愚蠢。此外,我最终拥有大约。 store.size 每 index 高 2 倍。
我不知道为什么会这样。
直接批量插入修改数据不起作用:docs.count doubles。
有什么想法吗?
更新
这是我的批量插入:
var dataPointsBulkIndexOperationsPerBatchId = data.Select(
item => new BulkIndexOperation<T>(item)
{
Index = indexName
});
var allBulksRequest = new BulkRequest
{
Operations = new BulkOperationsCollection<IBulkOperation>(dataPointsBulkIndexOperationsPerBatchId),
Refresh = Refresh.True
};
if (allBulksRequest.Operations.Any())
{
var bulkResponse = elasticClient.Bulk(allBulksRequest);
bulkResponse.AssertResponseIsValidAndSuccessful();
}
【问题讨论】:
-
如果你能在minimal reproducible example 上分享你目前的进展,那就太棒了。
-
对不起,我没有真正明白这一点。这更像是一个概念问题。还是我的观察有点“可疑”?
-
可以直接批量更新索引。在后台它将删除文档并插入新文档,因为任何更改都会导致重新索引。
-
是的,但是怎么做?我在更新主题中使用批量插入
标签: c# elasticsearch nest