我们正在使用.NET NEST客户端进行elasticsearch(版本7.X)
我的问题是,在NEST或ElasticSearch中出现version_conflicts的情况下,是否有一种机制可以重试 deletebyquery,或者这应该是调用应用程序的责任(如果 response.version_conflicts > 0,则重试)?
var client = new ElasticClient(m_ConnectionSettings);
var response = client.DeleteByQuery<ResourceSearchData>(
q => q.Query(
e => e.Ids(
descriptor => descriptor.Values(
resourcesToDelete.Select(data => data.Id)))
).WaitForCompletion());
1条答案
按热度按时间fslejnso1#
一些API支持retry_on_conflict,如Update API,但Delete by query不是其中之一。NEST客户端在这方面不公开附加功能。为了每次都尽可能多地完成工作,我建议您将冲突设置为继续,然后在响应指示存在冲突时继续重试您所建议的操作。