使用NEST 7.17.5库更新旧版本（NEST 1.4.3）的C#代码如下所示，双引号请不要用中文模式下的
public class SparePartEntity
{
private string _name;

public SparePartEntity()
{
RepkitEntities = new List<RepKitEntity>();
GroupNames = new List<string>();
AllGroupNames = new List<string>();
Attributes = new List<AttributeEntity>();
ImageNames = new List<string>();
RepkitPartNames = new List<string>();
AllAssemblyGroupNames = new List<string>();
FollowUpIds = new List<string>();
Synonyms = new List<string>();
ElevatorManufacturerNames = new List<string>();
ElevatorManufacturerNames = new List<string>();
PartsManufacturerNames = new List<string>();
ProductLineNames = new List<string>();
ComponentTypeNames = new List<string>();
AssemblyGroupNames = new List<string>();
Downloads = new List<string>();
AllAssemblyGroupNamesLocalized = new List<string>();
AllGroupNamesLocalized = new List<string>();

ProductLineIds = new List<int>();
AssemblyGroupElevatorIds = new List<int>();
AssemblyGroupEscalatorIds = new List<int>();
ComponentTypeIds = new List<int>();
PartsManufacturerIds = new List<int>();
GroupIds = new List<int>();

MainAttributeIds = new List<int>();
SpecificAttributeIds = new List<int>();
}

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public string Id { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed, AddSortField = true)]
public string Name
{
get { return _name; }
set
{
_name = value;
NamePrefix = value != null ? value.ToLower() : null;
}
}

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public string NamePrefix { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public string SparePartId { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public string Kg { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public string OwnerKg { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public string Symbol { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, IncludeInAll = true)]
public string Barcode { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public string LanguageKey { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public string Description { get; set; }

public string Dimensions { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public double Length { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public double Width { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public double Height { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public string Weight { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public DateTime Timestamp { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public DateTime? MarkedDeletedTimestamp { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public DateTime CreateDate { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public DateTime LastSynced { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public long SparePartRevision { get; set; }

public bool IsDeleted { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<string> ElevatorManufacturerNames { get; set; }

#region Product Line

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<int> ProductLineIds { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<string> ProductLineNames { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public List<string> ProductLineNamesAnalyzed { get; set; }

#endregion

#region Assembly Group Elevator

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, IncludeInAll = true)]
public List<int> AssemblyGroupElevatorIds { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, IncludeInAll = true)]
public List<int> AssemblyGroupEscalatorIds { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, IncludeInAll = true)]
public List<string> AssemblyGroupNames { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<string> AllAssemblyGroupNames { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public List<string> AllAssemblyGroupNamesAnalyzed { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<string> AllAssemblyGroupNamesLocalized { get; set; }

#endregion

#region Assembly Group Escalator

#endregion

#region Component Type

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<int> ComponentTypeIds { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<string> ComponentTypeNames { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public List<string> ComponentTypeNamesAnalyzed { get; set; }

#endregion

#region Part Manufacturer

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<int> PartsManufacturerIds { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<string> PartsManufacturerNames { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public List<string> PartsManufacturerNamesAnalyzed { get; set; }

#endregion

#region Spare Part Group

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, AddSortField = true)]
public string GroupName { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, AddSortField = true)]
public List<int> GroupIds { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, AddSortField = true)]
public List<string> GroupNames { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<string> AllGroupNames { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<string> AllGroupNamesLocalized { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public List<string> AllGroupNamesAnalyzed { get; set; }

#endregion

#region RepKit

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public bool IsRepkit { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, IncludeInAll = true)]
public List<string> RepkitPartNames { get; set; }

[ElasticProperty()]
public List<RepKitEntity> RepkitEntities { get; set; }

#endregion

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public List<AttributeEntity> Attributes { get; set; }

public List<string> Synonyms { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed, IncludeInAll = true)]
public List<string> FollowUpIds { get; set; }

public List<string> ImageNames { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<string> Downloads { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public string Oem { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public List<string> AllDescriptions { get; set; }

[ElasticProperty(Index = FieldIndexOption.Analyzed)]
public List<string> AllNames { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<int> MainAttributeIds { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public List<int> SpecificAttributeIds { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public bool? PredefinedSolutions { get; set; }

public byte[] ImageHash { get; set; }

[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
public BomEntity Bom { get; set; }
}