@@ -96,6 +96,12 @@ public interface ITypeMapping
96
96
[ DataMember ( Name = "_routing" ) ]
97
97
IRoutingField RoutingField { get ; set ; }
98
98
99
+ /// <summary>
100
+ /// Specifies runtime fields for the mapping.
101
+ /// </summary>
102
+ [ DataMember ( Name = "runtime" ) ]
103
+ IRuntimeFields RuntimeFields { get ; set ; }
104
+
99
105
/// <summary>
100
106
/// If enabled, indexes the size in bytes of the original _source field.
101
107
/// Requires mapper-size plugin be installed
@@ -147,6 +153,9 @@ public class TypeMapping : ITypeMapping
147
153
/// <inheritdoc />
148
154
public IRoutingField RoutingField { get ; set ; }
149
155
156
+ /// <inheritdoc />
157
+ public IRuntimeFields RuntimeFields { get ; set ; }
158
+
150
159
/// <inheritdoc />
151
160
public ISizeField SizeField { get ; set ; }
152
161
@@ -171,6 +180,7 @@ public class TypeMappingDescriptor<T> : DescriptorBase<TypeMappingDescriptor<T>,
171
180
bool ? ITypeMapping . NumericDetection { get ; set ; }
172
181
IProperties ITypeMapping . Properties { get ; set ; }
173
182
IRoutingField ITypeMapping . RoutingField { get ; set ; }
183
+ IRuntimeFields ITypeMapping . RuntimeFields { get ; set ; }
174
184
ISizeField ITypeMapping . SizeField { get ; set ; }
175
185
ISourceField ITypeMapping . SourceField { get ; set ; }
176
186
@@ -259,6 +269,10 @@ public TypeMappingDescriptor<T> DisableIndexField(bool? disabled = true) =>
259
269
public TypeMappingDescriptor < T > RoutingField ( Func < RoutingFieldDescriptor < T > , IRoutingField > routingFieldSelector ) =>
260
270
Assign ( routingFieldSelector , ( a , v ) => a . RoutingField = v ? . Invoke ( new RoutingFieldDescriptor < T > ( ) ) ) ;
261
271
272
+ /// <inheritdoc cref="ITypeMapping.RuntimeFields" />
273
+ public TypeMappingDescriptor < T > RuntimeFields ( Func < RuntimeFieldsDescriptor , IPromise < IRuntimeFields > > runtimeFieldsSelector ) =>
274
+ Assign ( runtimeFieldsSelector , ( a , v ) => a . RuntimeFields = v ? . Invoke ( new RuntimeFieldsDescriptor ( ) ) ? . Value ) ;
275
+
262
276
/// <inheritdoc cref="ITypeMapping.FieldNamesField" />
263
277
public TypeMappingDescriptor < T > FieldNamesField ( Func < FieldNamesFieldDescriptor < T > , IFieldNamesField > fieldNamesFieldSelector ) =>
264
278
Assign ( fieldNamesFieldSelector . Invoke ( new FieldNamesFieldDescriptor < T > ( ) ) , ( a , v ) => a . FieldNamesField = v ) ;
0 commit comments