diff options
Diffstat (limited to 'vendor/github.com/olivere/elastic/search_queries_geo_distance.go')
-rw-r--r-- | vendor/github.com/olivere/elastic/search_queries_geo_distance.go | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/vendor/github.com/olivere/elastic/search_queries_geo_distance.go b/vendor/github.com/olivere/elastic/search_queries_geo_distance.go deleted file mode 100644 index 00e62725f..000000000 --- a/vendor/github.com/olivere/elastic/search_queries_geo_distance.go +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2012-present Oliver Eilhard. All rights reserved. -// Use of this source code is governed by a MIT-license. -// See http://olivere.mit-license.org/license.txt for details. - -package elastic - -// GeoDistanceQuery filters documents that include only hits that exists -// within a specific distance from a geo point. -// -// For more details, see: -// https://www.elastic.co/guide/en/elasticsearch/reference/6.0/query-dsl-geo-distance-query.html -type GeoDistanceQuery struct { - name string - distance string - lat float64 - lon float64 - geohash string - distanceType string - queryName string -} - -// NewGeoDistanceQuery creates and initializes a new GeoDistanceQuery. -func NewGeoDistanceQuery(name string) *GeoDistanceQuery { - return &GeoDistanceQuery{name: name} -} - -func (q *GeoDistanceQuery) GeoPoint(point *GeoPoint) *GeoDistanceQuery { - q.lat = point.Lat - q.lon = point.Lon - return q -} - -func (q *GeoDistanceQuery) Point(lat, lon float64) *GeoDistanceQuery { - q.lat = lat - q.lon = lon - return q -} - -func (q *GeoDistanceQuery) Lat(lat float64) *GeoDistanceQuery { - q.lat = lat - return q -} - -func (q *GeoDistanceQuery) Lon(lon float64) *GeoDistanceQuery { - q.lon = lon - return q -} - -func (q *GeoDistanceQuery) GeoHash(geohash string) *GeoDistanceQuery { - q.geohash = geohash - return q -} - -func (q *GeoDistanceQuery) Distance(distance string) *GeoDistanceQuery { - q.distance = distance - return q -} - -func (q *GeoDistanceQuery) DistanceType(distanceType string) *GeoDistanceQuery { - q.distanceType = distanceType - return q -} - -func (q *GeoDistanceQuery) QueryName(queryName string) *GeoDistanceQuery { - q.queryName = queryName - return q -} - -// Source returns JSON for the function score query. -func (q *GeoDistanceQuery) Source() (interface{}, error) { - // { - // "geo_distance" : { - // "distance" : "200km", - // "pin.location" : { - // "lat" : 40, - // "lon" : -70 - // } - // } - // } - - source := make(map[string]interface{}) - - params := make(map[string]interface{}) - - if q.geohash != "" { - params[q.name] = q.geohash - } else { - location := make(map[string]interface{}) - location["lat"] = q.lat - location["lon"] = q.lon - params[q.name] = location - } - - if q.distance != "" { - params["distance"] = q.distance - } - if q.distanceType != "" { - params["distance_type"] = q.distanceType - } - if q.queryName != "" { - params["_name"] = q.queryName - } - - source["geo_distance"] = params - - return source, nil -} |