class Arelastic::Sorts::GeoDistance

Attributes

field[RW]
location[RW]
options[RW]

Public Class Methods

new(field, location, options = {}) click to toggle source

GeoDistance.new('coordinates', [-70, 40]).as_elastic

=> {'_geo_distance' => {'coordinates' => [-70, 40]}}

GeoDistance.new('coordinates', [-70, 40], 'distance_type' => 'plane').as_elastic

=> {'_geo_distance' => {'coordinates' => [-70, 40], 'distance_type' => 'plane'}}
# File lib/arelastic/sorts/geo_distance.rb, line 12
def initialize(field, location, options = {})
  @field    = field
  @location = location
  @options  = options
end

Public Instance Methods

as_elastic() click to toggle source
# File lib/arelastic/sorts/geo_distance.rb, line 18
def as_elastic
  {'_geo_distance' => {field => location}.update(options)}
end