【发布时间】:2020-12-30 15:48:25
【问题描述】:
我正在尝试找到一种方法来在执行 BulkAll 操作时为我的索引指定副本数,我知道在使用 CreateIndex 创建单个索引时如何执行此操作:
var createIndexResponse = client.CreateIndex("index-name", c => c
// settings for the index
.Settings(s => s
.NumberOfReplicas(1)
)
第二个参数包含 CreateIndexDescriptior,其中包含:
public CreateIndexDescriptor Settings(Func<IndexSettingsDescriptor, IPromise<IIndexSettings>> selector);
我查看了 BulkIndexDescriptor 但找不到设置选项,那么在执行批量操作时如何指定副本数?
这是我当前的代码:
var bulkAllObservable = elasticClient.BulkAll(accessLogs, b => b
.Index(null)
.MaxDegreeOfParallelism(Environment.ProcessorCount)
.BackOffRetries(2)
.ContinueAfterDroppedDocuments(true)
.BufferToBulk((descriptor, buffer) =>
{
foreach (var al in buffer)
{
descriptor.Index<object>(bi => bi
.Document(al)
.Index($"my-log-{al.Properties.UserId}")
.Id($"{al.Properties.Id}")
);
}
})
我正在使用 Nest 7.10.0
【问题讨论】:
标签: c# elasticsearch nest