No you can't out of the box. If you want to use built in geo filters you need 
geo points.

That said, you can use scripts to do it based on lat,lon fields but it will be 
slower.

My 2 cents

--
David ;-)
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs


Le 29 juil. 2014 à 22:30, Madhavan Ramachandran <[email protected]> a écrit :

Hi Team,

I am trying to find a solution for the below

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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/85658110-e7ae-42c5-8ca9-13f10c7f3820%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/6A9B82CB-37AC-45A2-842A-703E8965D5B9%40pilato.fr.
For more options, visit https://groups.google.com/d/optout.

Reply via email to