class OpenSearch::DSL::Search::Aggregations::Range
A multi-bucket aggregation which returns document counts for custom numerical ranges, which define the buckets
@example
search do aggregation :clicks do range field: 'clicks', ranges: [ { to: 10 }, { from: 10, to: 20 } ] end end
@example Using custom names for the ranges
search do aggregation :clicks do range do field 'clicks' key :low, to: 10 key :mid, from: 10, to: 20 end end end
Public Instance Methods
key(key, value)
click to toggle source
# File lib/opensearch/dsl/search/aggregations/range.rb, line 67 def key(key, value) @hash[name].update(@args) if @args @hash[name][:keyed] = true unless @hash[name].has_key?(:keyed) @hash[name][:ranges] ||= [] @hash[name][:ranges] << value.merge(key: key) unless @hash[name][:ranges].any? { |i| i[:key] == key } self end