diff --git a/src/Nest/Aggregations/Bucket/AutoDateHistogram/AutoDateHistogramAggregation.cs b/src/Nest/Aggregations/Bucket/AutoDateHistogram/AutoDateHistogramAggregation.cs index 896fd878535..2c2fba3cca8 100644 --- a/src/Nest/Aggregations/Bucket/AutoDateHistogram/AutoDateHistogramAggregation.cs +++ b/src/Nest/Aggregations/Bucket/AutoDateHistogram/AutoDateHistogramAggregation.cs @@ -12,6 +12,9 @@ public interface IAutoDateHistogramAggregation : IBucketAggregation [JsonProperty("field")] Field Field { get; set; } + [JsonProperty("buckets")] + int? Buckets { get; set; } + [JsonProperty("format")] string Format { get; set; } @@ -41,6 +44,8 @@ public AutoDateHistogramAggregation(string name) : base(name) { } public Field Field { get; set; } + public int? Buckets { get; set; } + //see: https://github.com/elastic/elasticsearch/issues/9725 public string Format { @@ -70,6 +75,8 @@ public class AutoDateHistogramAggregationDescriptor Field IAutoDateHistogramAggregation.Field { get; set; } + int? IAutoDateHistogramAggregation.Buckets { get; set; } + //see: https://github.com/elastic/elasticsearch/issues/9725 string IAutoDateHistogramAggregation.Format { @@ -95,6 +102,8 @@ string IAutoDateHistogramAggregation.Format public AutoDateHistogramAggregationDescriptor Field(Expression> field) => Assign(field, (a, v) => a.Field = v); + public AutoDateHistogramAggregationDescriptor Buckets(int? buckets) => Assign(buckets, (a, v) => a.Buckets = v); + public AutoDateHistogramAggregationDescriptor Script(string script) => Assign((InlineScript)script, (a, v) => a.Script = v); public AutoDateHistogramAggregationDescriptor Script(Func scriptSelector) => diff --git a/src/Tests/Tests/Aggregations/Bucket/AutoDateHistogram/AutoDateHistogramAggregationUsageTests.cs b/src/Tests/Tests/Aggregations/Bucket/AutoDateHistogram/AutoDateHistogramAggregationUsageTests.cs index 21760f7bcc5..4e9a2e21aea 100644 --- a/src/Tests/Tests/Aggregations/Bucket/AutoDateHistogram/AutoDateHistogramAggregationUsageTests.cs +++ b/src/Tests/Tests/Aggregations/Bucket/AutoDateHistogram/AutoDateHistogramAggregationUsageTests.cs @@ -36,6 +36,7 @@ public AutoDateHistogramAggregationUsageTests(ReadOnlyCluster i, EndpointUsage u auto_date_histogram = new { field = "startedOn", + buckets = 10, format = "yyyy-MM-dd'T'HH:mm:ss||date_optional_time", //<1> Note the inclusion of `date_optional_time` to `format` missing = FixedDate }, @@ -62,6 +63,7 @@ public AutoDateHistogramAggregationUsageTests(ReadOnlyCluster i, EndpointUsage u protected override Func, IAggregationContainer> FluentAggs => a => a .AutoDateHistogram("projects_started_per_month", date => date .Field(p => p.StartedOn) + .Buckets(10) .Format("yyyy-MM-dd'T'HH:mm:ss") .Missing(FixedDate) .Aggregations(childAggs => childAggs @@ -78,6 +80,7 @@ public AutoDateHistogramAggregationUsageTests(ReadOnlyCluster i, EndpointUsage u new AutoDateHistogramAggregation("projects_started_per_month") { Field = Field(p => p.StartedOn), + Buckets = 10, Format = "yyyy-MM-dd'T'HH:mm:ss", Missing = FixedDate, Aggregations = new NestedAggregation("project_tags")