From 399106ec0a17887a52d80b05535cc1d11149ba47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Thu, 25 Apr 2024 18:27:59 +0800 Subject: [PATCH] =?UTF-8?q?retry=EF=BC=9A=E6=BB=9A=E5=8A=A8=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=96=87=E5=8F=AA=E8=83=BD500=EF=BC=8C=E5=9B=A0?= =?UTF-8?q?=E6=AD=A4=E5=9B=9E=E9=80=80=E5=88=B0=E6=99=AE=E9=80=9A=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repositories/TrackDetailsRepository.cs | 53 ++++++++----------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs index c48a0ec0..74666a61 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs @@ -234,46 +234,35 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract trackCodes) { - var search = await Context.SearchAsync(s => s - .Source(fd => fd.Includes(f => f.Field("indexName"))) - .Size(1000) - .Query(q => q - .Bool(b => b - .Must( - mu => mu.Terms(t => t.Field(f => f.OrderId).Terms(orderIds)), - mu => mu.Terms(t => t.Field(f => f.TrackCode.Suffix("keyword")).Terms(trackCodes)) - ) + var search = await Context.SearchAsync(x => x + .Source(s => s.Includes(fd => fd.Field(f => f.IndexName))) + .Size(1000) + .Query(q => q + .Bool(b => b + .Must( + mu => mu.Terms(t => t.Field(f => f.OrderId).Terms(orderIds)), + mu => mu.Terms(t => t.Field(f => f.TrackCode.Suffix("keyword")).Terms(trackCodes)) ) ) - .Scroll("1m") // 设置滚动时间 + ) ); - - while (search.IsValid && search.Documents.Any()) - { - // 处理滚动查询结果 - var tracks = search.ToIdList(); - - foreach (var track in tracks) - { - var r = await Context.DeleteAsync(track.Id, u => u - .Index(track.IndexName) - ); - - if (!r.IsValid) - throw new Exception($"轨迹数据删除失败,原因:{r.ServerError.Error}"); - } - - var scrollId = search.ScrollId; // 更新滚动ID - - // 滚动查询 - search = await Context.ScrollAsync("1m", scrollId); - } - if (!search.IsValid) { throw new Exception($"轨迹查询异常,原因:{search.DebugInformation}。"); } + + var tracks = search.ToIdList(); + + foreach (var track in tracks) + { + var r = await Context.DeleteAsync(track.Id, u => u + .Index(track.IndexName) + ); + + if (!r.IsValid) + throw new Exception($"轨迹数据删除失败,原因:{r.ServerError.Error}"); + } } public async Task<(List list, long total)> GetListAsync(TrackDetailsQueryInput input)