99namespace Nest
1010{
1111 [ JsonObject ( MemberSerialization . OptIn ) ]
12+ [ JsonConverter ( typeof ( ProcessorJsonConverter < DateProcessor > ) ) ]
1213 public interface IDateProcessor : IProcessor
1314 {
1415 [ JsonProperty ( "field" ) ]
@@ -17,8 +18,8 @@ public interface IDateProcessor : IProcessor
1718 [ JsonProperty ( "target_field" ) ]
1819 Field TargetField { get ; set ; }
1920
20- [ JsonProperty ( "match_formats " ) ]
21- string MatchFormats { get ; set ; }
21+ [ JsonProperty ( "formats " ) ]
22+ IEnumerable < string > Formats { get ; set ; }
2223
2324 [ JsonProperty ( "timezone" ) ]
2425 string Timezone { get ; set ; }
@@ -33,13 +34,13 @@ public class DateProcessor : ProcessorBase, IDateProcessor
3334
3435 public Field Field { get ; set ; }
3536
36- public string Locale { get ; set ; }
37-
38- public string MatchFormats { get ; set ; }
39-
4037 public Field TargetField { get ; set ; }
4138
39+ public IEnumerable < string > Formats { get ; set ; }
40+
4241 public string Timezone { get ; set ; }
42+
43+ public string Locale { get ; set ; }
4344 }
4445
4546 public class DateProcessorDescriptor < T >
@@ -49,14 +50,10 @@ public class DateProcessorDescriptor<T>
4950 protected override string Name => "date" ;
5051
5152 Field IDateProcessor . Field { get ; set ; }
52-
53- string IDateProcessor . Locale { get ; set ; }
54-
55- string IDateProcessor . MatchFormats { get ; set ; }
56-
5753 Field IDateProcessor . TargetField { get ; set ; }
58-
54+ IEnumerable < string > IDateProcessor . Formats { get ; set ; }
5955 string IDateProcessor . Timezone { get ; set ; }
56+ string IDateProcessor . Locale { get ; set ; }
6057
6158 public DateProcessorDescriptor < T > Field ( Field field ) => Assign ( a => a . Field = field ) ;
6259
@@ -68,7 +65,9 @@ public DateProcessorDescriptor<T> Field(Expression<Func<T, object>> objectPath)
6865 public DateProcessorDescriptor < T > TargetField ( Expression < Func < T , object > > objectPath ) =>
6966 Assign ( a => a . TargetField = objectPath ) ;
7067
71- public DateProcessorDescriptor < T > MatchFormats ( string matchFormats ) => Assign ( a => a . MatchFormats = matchFormats ) ;
68+ public DateProcessorDescriptor < T > Formats ( IEnumerable < string > matchFormats ) => Assign ( a => a . Formats = matchFormats ) ;
69+
70+ public DateProcessorDescriptor < T > Formats ( params string [ ] matchFormats ) => Assign ( a => a . Formats = matchFormats ) ;
7271
7372 public DateProcessorDescriptor < T > Timezone ( string timezone ) => Assign ( a => a . Timezone = timezone ) ;
7473
0 commit comments