我正在使用以下代码对文档进行批量索引。它适用于除我的Product模型以外的所有内容,但仅当我尝试为多个文档建立索引时才适用。如果我只做一份文件,那就行得通。如果我执行10,则失败。我的产品模型不是很复杂,但是它确实有一些带有无限自我引用循环的嵌套文档,但是我确实添加了ReferenceLoopHandling。忽略以处理它。
public bool BulkIndex<T>(IEnumerable<T> items) where T : class
{
var waitHandle = new CountdownEvent(1);
var bulkAll = _client.BulkAll(items, b => b
.BackOffRetries(2)
.BackOffTime(TimeSpan.FromSeconds(5))
.RefreshOnCompleted(true)
.MaxDegreeOfParallelism(4)
.Size(100)
.Index(typeof(T).Name.ToLower())
);
bulkAll.Subscribe(new BulkAllObserver(
onNext: (b) => { Console.Write("."); },
onError: (e) => { throw e; },
onCompleted: () => waitHandle.Signal()
));
waitHandle.Wait();
return true;
}
new JsonNetSerializer(builtInSerializer, connectionSettings, () => new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
}))