NEST客户端,或者说elasticsearch是否有重试delete_by_query的功能,特别是在版本冲突的情况下?

qltillow  于 2023-06-21  发布在  ElasticSearch
关注(0)|答案(1)|浏览(152)

我们正在使用.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());
fslejnso

fslejnso1#

一些API支持retry_on_conflict,如Update API,但Delete by query不是其中之一。NEST客户端在这方面不公开附加功能。为了每次都尽可能多地完成工作,我建议您将冲突设置为继续,然后在响应指示存在冲突时继续重试您所建议的操作。

相关问题