0
問題:在哪裏指定在NEST批量API中使用的批量操作「MaxRetry」或「Timeout」變量?在Elasticsearch/Nest Bulk API中指定「MaxRetry」和「Timeout」變量的位置?
當我做下面的批量操作,程序停止後成功插入60K記錄。我在Elasticsearch.Net.Connection.RequestHandlers.RequestHandlerBase.cs中得到了一個MaxRetryException。 所以,我想增加MaxRetry數量或超時秒數來克服這個問題,我在正確的道路上?
var counter = 0;
var indexName = "SomeIndexName";
var indexType = "SomeType";
var routingString = "SomeRouting";
var bulkDescriptor = new BulkDescriptor();
while (await result.ReadAsync())
{
counter++;
var document = GetDocumentObject<T>(result);
var idString = GetID(result);
bulkDescriptor.Index<T>(op => op
.Routing(routingString)
.Index(indexName)
.Type(indexType)
.Id(idString)
.Document(document));
if (counter % 1000 == 0)
{
var bulkResponse = await client.BulkAsync(bulkDescriptor);
bulkDescriptor = new BulkDescriptor();
}
}