Hi ! Use "query". ex : { "query" : { "filtered" : { "query" : { "match_all" : {} }, "filter" : { "geo_distance" : { "distance" : "50km", "city.location" : { "lat" : 43.4, "lon" : 5.4 } } } } } }
Le mardi 29 juillet 2014 22:30:12 UTC+2, Madhavan Ramachandran a écrit : > > Hi Team, > > I am trying to find a solution for the below > > 1. Geo boundary based search.. My index have property for lat and lon > as double.. not as a geopoint.. Here is my mapping for my index.. > > How do i use the lon and lat from the below mapping for geo distance > filter/geo distance range filter ? > > Name Type Format Store? > data string > > getpath string > > id double > > Region string > > Submarket string > > addr1 string > > addr2 string > > city string > > citymarket string > > country string > > countryid long > > cultureid long > > data string > > details string > > fax string > > id string > > language string > > lat double > > lon double > > When I search for the documents.. i got the below exception.. > > Query : > { > "filter": { > "geo_distance" : { > "distance" : "300km", > "location" : { > "lat" : 45, > "lon" : -122 > } > } > > } > } > > Exception: > "error": "SearchPhaseExecutionException[Failed to execute phase [query], > all shards failed; shardFailures > {[o3f66HetT3OSpVw895w0nA][offlocations][4]: > SearchParseException[[offlocations][4]: from[-1],size[-1]: Parse Failure > [Failed to parse source [{\n\"filter\": {\n \"geo_distance\" : {\n > \"distance\" : \"300km\",\n \"location\" : {\n \"lat\" : 45,\n \"lon\" : > -122\n }\n } \n }\n}]]]; nested: > > I tried with removing the location, which i dont have in my mapping.. > > {"filter": { "geo_distance" : { "distance" : "300km", > "lat" > : 45, "lon" : -122 } }} > > I got the exception as lon is not a geo_point field.. > > ElasticsearchIllegalArgumentException[the character '-' is not a valid > geohash character]; }]" > > If i remove the "-" infront of lon.. then the exception says : > > QueryParsingException[[offlocations] field [lon] is not a geo_point field]; > > > -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/567759b4-21bb-489f-b08f-36ba982a30c8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.