class Orchestrate::Search::AggregateBuilder

Aggregate Builder object for constructing aggregate params included in a search

Attributes

aggregates[R]

@return [Array] Aggregate param arguments

builder[R]

@return [QueryBuilder]

Public Class Methods

new(builder) click to toggle source

Initialize a new AggregateBuilder object @param builder [Orchestrate::Search::SearchBuilder] The Search Builder object

# File lib/orchestrate/search/aggregate_builder.rb, line 24
def initialize(builder)
  @builder = builder
  @aggregates = []
end

Public Instance Methods

distance(field_name) click to toggle source

@param field_name [#to_s] @return [DistanceBuilder]

# File lib/orchestrate/search/aggregate_builder.rb, line 70
def distance(field_name)
  dist = DistanceBuilder.new(self, "#{field_name}")
  aggregates << dist
  dist
end
inspect()
Alias for: to_s
range(field_name) click to toggle source

@param field_name [#to_s] @return [RangeBuilder]

# File lib/orchestrate/search/aggregate_builder.rb, line 62
def range(field_name)
  rng = RangeBuilder.new(self, "#{field_name}")
  aggregates << rng
  rng
end
stats(field_name) click to toggle source

@param field_name [#to_s] @return [AggregateBuilder]

# File lib/orchestrate/search/aggregate_builder.rb, line 54
def stats(field_name)
  stat = StatsBuilder.new(self, "#{field_name}")
  aggregates << stat
  stat
end
time_series(field_name) click to toggle source

@param field_name [#to_s] @return [TimeSeriesBuilder]

# File lib/orchestrate/search/aggregate_builder.rb, line 78
def time_series(field_name)
  time = TimeSeriesBuilder.new(self, "#{field_name}")
  aggregates << time
  time
end
to_param() click to toggle source

@return constructed aggregate string parameter for search query

# File lib/orchestrate/search/aggregate_builder.rb, line 36
def to_param
  aggregates.map {|agg| agg.to_param }.join(',')
end
to_s() click to toggle source

@return Pretty-Printed string representation of the AggregateBuilder object

# File lib/orchestrate/search/aggregate_builder.rb, line 30
def to_s
  "#<Orchestrate::Search::AggregateBuilder collection=#{collection.name} query=#{builder.query} aggregate=#{to_param}>"
end
Also aliased as: inspect
top_values(field_name, offset = nil, limit = nil) click to toggle source

@param field_name [#to_s] @param offset [Integer, nil] @param limit [Integer, nil] @return [AggregateBuilder]

# File lib/orchestrate/search/aggregate_builder.rb, line 46
def top_values(field_name, offset = nil, limit = nil)
  top_values = TopValuesBuilder.new(self, "#{field_name}", offset, limit)
  aggregates << top_values
  top_values
end