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
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