update: 优化BulkApi构建方式

This commit is contained in:
云龙 王 2024-11-27 10:07:21 +08:00
parent faa7b6cd7e
commit 6aee0d60d4

View File

@ -270,13 +270,11 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
if (indexes.Count == 0) return; if (indexes.Count == 0) return;
//构建批量更新操作描述符 //构建批量更新操作描述符
var desc = new BulkDescriptor(GlobalConst.TrackDetailsIndex); var desc = new BulkDescriptor().UpdateMany(indexes,
foreach (var track in indexes) (u, track) =>
{ u.Id(track.Id)
desc = desc.AddOperation(new BulkUpdateDescriptor<TrackDetailsIndex, object>() .Index(track.IndexName)
.Id(track.Id) .Script(s => s.Source(@"
.Index(track.IndexName)
.Script(s => s.Source(@"
ctx._source.trackPlace = params.trackPlace; ctx._source.trackPlace = params.trackPlace;
ctx._source.trackTime = params.trackTime; ctx._source.trackTime = params.trackTime;
ctx._source.trackTimeZone = params.trackTimeZone; ctx._source.trackTimeZone = params.trackTimeZone;
@ -297,28 +295,27 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
ctx._source.destinationTimeZone = params.destinationTimeZone; ctx._source.destinationTimeZone = params.destinationTimeZone;
ctx._source.estimatedDeliveryDate = params.estimatedDeliveryDate; ctx._source.estimatedDeliveryDate = params.estimatedDeliveryDate;
").Params(p => p ").Params(p => p
.Add("trackPlace", track.TrackPlace) .Add("trackPlace", track.TrackPlace)
.Add("trackTime", track.TrackTime) .Add("trackTime", track.TrackTime)
.Add("trackTimeZone", track.TrackTimeZone) .Add("trackTimeZone", track.TrackTimeZone)
.Add("updateUser", track.UpdateUser) .Add("updateUser", track.UpdateUser)
.Add("updateTime", DateTime.Now) .Add("updateTime", DateTime.Now)
//S06新增字段更新 //S06新增字段更新
.Add("trackContent", track.TrackContent) .Add("trackContent", track.TrackContent)
.Add("trackEnContent", track.TrackEnContent) .Add("trackEnContent", track.TrackEnContent)
.Add("isVisibility", track.IsVisibility) .Add("isVisibility", track.IsVisibility)
.Add("remarks", track.Remarks) .Add("remarks", track.Remarks)
.Add("files", track.Files) .Add("files", track.Files)
.Add("trackPlaceCity", track.TrackPlaceCity) .Add("trackPlaceCity", track.TrackPlaceCity)
.Add("trackPlaceCityId", track.TrackPlaceCityId) .Add("trackPlaceCityId", track.TrackPlaceCityId)
.Add("trackPlaceProvince", track.TrackPlaceProvince) .Add("trackPlaceProvince", track.TrackPlaceProvince)
.Add("trackPlaceProvinceId", track.TrackPlaceProvinceId) .Add("trackPlaceProvinceId", track.TrackPlaceProvinceId)
.Add("trackPlaceNation", track.TrackPlaceNation) .Add("trackPlaceNation", track.TrackPlaceNation)
.Add("trackPlaceNationId", track.TrackPlaceNationId) .Add("trackPlaceNationId", track.TrackPlaceNationId)
.Add("trackPlacePostcode", track.TrackPlacePostcode) .Add("trackPlacePostcode", track.TrackPlacePostcode)
.Add("destinationTimeZone", track.DestinationTimeZone) .Add("destinationTimeZone", track.DestinationTimeZone)
.Add("estimatedDeliveryDate", track.EstimatedDeliveryDate)) .Add("estimatedDeliveryDate", track.EstimatedDeliveryDate))
)); ));
}
var retryCount = 0; var retryCount = 0;
var updateSuccessful = false; var updateSuccessful = false;