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)