class Orchestrate::Search::TimeSeriesBuilder
Time Series Builder object for constructing time series functions for the aggregate param
Attributes
@return [AggregateBuilder]
@return [#to_s] The field to operate over
@return [#to_s] The interval of time for the TimeSeries function
Public Class Methods
Initialize a new TimeSeriesBuilder
object @param builder [AggregateBuilder] The Aggregate Builder object @param field_name
[#to_s] The field to operate over
# File lib/orchestrate/search/aggregate_builder.rb, line 250 def initialize(builder, field_name) @builder = builder @field_name = field_name @interval = nil @time_zone = nil end
Public Instance Methods
Set time series interval to day @return [AggregateBuilder]
# File lib/orchestrate/search/aggregate_builder.rb, line 302 def day @interval = 'day' self end
Set time series interval to hour @return [AggregateBuilder]
# File lib/orchestrate/search/aggregate_builder.rb, line 309 def hour @interval = 'hour' self end
Set time series interval to month @return [AggregateBuilder]
# File lib/orchestrate/search/aggregate_builder.rb, line 288 def month @interval = 'month' self end
Set time series interval to quarter @return [AggregateBuilder]
# File lib/orchestrate/search/aggregate_builder.rb, line 281 def quarter @interval = 'quarter' self end
Use the designated time zone (e.g., “-0500” or “+0430”) when calculating bucket boundaries @param zone [String] @return [RangeBuilder]
# File lib/orchestrate/search/aggregate_builder.rb, line 317 def time_zone(zone) @time_zone = zone self end
@return [#to_s] constructed aggregate string clause
# File lib/orchestrate/search/aggregate_builder.rb, line 264 def to_param if @time_zone.nil? "#{field_name}:time_series:#{interval}" else "#{field_name}:time_series:#{interval}:#{@time_zone}" end end
@return Pretty-Printed string representation of the TimeSeriesBuilder
object
# File lib/orchestrate/search/aggregate_builder.rb, line 258 def to_s "#<Orchestrate::Search::TimeSeriesBuilder collection=#{collection.name} field_name=#{field_name} interval=#{interval} time_zone=#{@time_zone}>" end
Set time series interval to week @return [AggregateBuilder]
# File lib/orchestrate/search/aggregate_builder.rb, line 295 def week @interval = 'week' self end
Set time series interval to year @return [AggregateBuilder]
# File lib/orchestrate/search/aggregate_builder.rb, line 274 def year @interval = 'year' self end