diff --git a/src/Nest/DSL/Facets/DateHistogramFacetDescriptor.cs b/src/Nest/DSL/Facets/DateHistogramFacetDescriptor.cs index 22baf083bfa..69bea5e3457 100644 --- a/src/Nest/DSL/Facets/DateHistogramFacetDescriptor.cs +++ b/src/Nest/DSL/Facets/DateHistogramFacetDescriptor.cs @@ -114,8 +114,34 @@ public DateHistogramFacetDescriptor OnField(Expression> objec objectPath.ThrowIfNull("objectPath"); Self.Field = objectPath; return this; - } - public DateHistogramFacetDescriptor Interval(DateInterval interval) + } + /// + /// Added to support custom date intervals on date histogram facet. Eg: "5s" for 5 seconds interval. + /// http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets-date-histogram-facet.html#_interval + /// + /// Custom interval string + /// + public DateHistogramFacetDescriptor Interval(string interval) + { + var intervalString = interval.ToLowerInvariant(); + Self.Interval = intervalString; + return this; + } + /// + /// Added to support custom date intervals on date histogram facet. Eg: "5s" for 5 seconds interval. + /// http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets-date-histogram-facet.html#_interval + /// + /// Custom interval string + /// Date rounding type + /// + public DateHistogramFacetDescriptor Interval(string interval, DateRounding dateRounding) + { + var intervalString = interval.ToLowerInvariant(); + var roundingString = Enum.GetName(typeof(DateRounding), dateRounding).ToLowerInvariant(); + Self.Interval = intervalString + ":" + roundingString; + return this; + } + public DateHistogramFacetDescriptor Interval(DateInterval interval) { var intervalString = Enum.GetName(typeof(DateInterval), interval).ToLowerInvariant(); Self.Interval = intervalString; diff --git a/src/Nest/DSL/Facets/DateInterval.cs b/src/Nest/DSL/Facets/DateInterval.cs index 8f65853c6ca..53ad39cdb9c 100644 --- a/src/Nest/DSL/Facets/DateInterval.cs +++ b/src/Nest/DSL/Facets/DateInterval.cs @@ -7,6 +7,6 @@ namespace Nest { public enum DateInterval { - Minute, Hour, Day, Week, Month, Quarter, Year + Second, Minute, Hour, Day, Week, Month, Quarter, Year } }