Skip to content

Commit ee23ef2

Browse files
authored
Add preserve_trailing to Split processor (#4402)
Relates: #4341, elastic/elasticsearch#48664 Add the preserve_trailing property to split processor, which is available in Elasticsearch 7.6.0+
1 parent 8ed67e3 commit ee23ef2

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/Nest/Ingest/Processors/SplitProcessor.cs

+15
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ public interface ISplitProcessor : IProcessor
3535
/// </summary>
3636
[DataMember(Name = "target_field")]
3737
Field TargetField { get; set; }
38+
39+
/// <summary>
40+
/// Preserves empty trailing fields, if any.
41+
/// <para />
42+
/// Available in Elasticsearch 7.6.0+.
43+
/// </summary>
44+
[DataMember(Name = "preserve_trailing")]
45+
bool? PreserveTrailing { get; set; }
3846
}
3947

4048
/// <inheritdoc cref="SplitProcessor" />
@@ -51,6 +59,9 @@ public class SplitProcessor : ProcessorBase, ISplitProcessor
5159

5260
/// <inheritdoc />
5361
public Field TargetField { get; set; }
62+
63+
/// <inheritdoc />
64+
public bool? PreserveTrailing { get; set; }
5465
protected override string Name => "split";
5566
}
5667

@@ -65,6 +76,7 @@ public class SplitProcessorDescriptor<T>
6576
bool? ISplitProcessor.IgnoreMissing { get; set; }
6677
string ISplitProcessor.Separator { get; set; }
6778
Field ISplitProcessor.TargetField { get; set; }
79+
bool? ISplitProcessor.PreserveTrailing { get; set; }
6880

6981
/// <inheritdoc cref="SplitProcessor.Field" />
7082
public SplitProcessorDescriptor<T> Field(Field field) => Assign(field, (a, v) => a.Field = v);
@@ -85,5 +97,8 @@ public SplitProcessorDescriptor<T> TargetField(Expression<Func<T, object>> objec
8597

8698
/// <inheritdoc cref="SplitProcessor.IgnoreMissing" />
8799
public SplitProcessorDescriptor<T> IgnoreMissing(bool? ignoreMissing = true) => Assign(ignoreMissing, (a, v) => a.IgnoreMissing = v);
100+
101+
/// <inheritdoc cref="SplitProcessor.PreserveTrailing" />
102+
public SplitProcessorDescriptor<T> PreserveTrailing(bool? preserveTrailing = true) => Assign(preserveTrailing, (a, v) => a.PreserveTrailing = v);
88103
}
89104
}

0 commit comments

Comments
 (0)