You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Michael Lorz <mi...@yahoo.co.uk> on 2011/07/19 12:14:26 UTC

Spatial Search with distance as a parameter

Hi all,

I have the following problem: The documents in the index of my solr instance 
correspond to persons. Each document (=person) has lat/lon coordinates and 
additionally a travel radius. The coordinates correspond to the office of the 
person, the travel radius indicates a distance which the person is willing to 
travel.

I would like to search for all persons which are willing to travel to a 
particular place (also given as lat/lon coordinates). In other words I have to 
do a query with the geofilt filter. The problem here: the distance parameter d 
cannot be defined in advance, but should correspond to the travel radius (which 
may be different for each person).

Any ideas how this problem could be solved?

Thanks in advance
Michi

Re: Spatial Search with distance as a parameter

Posted by "Smiley, David W." <ds...@mitre.org>.
Hi Michael,

It appears that you want to index circles (aka point-radius) and you want to do a query that is a point that matches documents where this point is within an indexed circle. I'm working with a couple Lucene/Solr committers on a geospatial module that can do this today against Solr 4 (trunk), but it's rough on the edges and needs testing.  In the mean time, I suggest you look at this post from "Spaceman Steve" in which he indexed lat-lon boxes and he has a query box.  With a bit of creativity, you may be able to adapt it to your needs.

http://lucene.472066.n3.nabble.com/intersecting-map-extent-with-solr-spatial-documents-tc3104098.html

~ David Smiley
Author: http://www.packtpub.com/solr-1-4-enterprise-search-server/

On Jul 19, 2011, at 6:14 AM, Michael Lorz wrote:

> Hi all,
> 
> I have the following problem: The documents in the index of my solr instance 
> correspond to persons. Each document (=person) has lat/lon coordinates and 
> additionally a travel radius. The coordinates correspond to the office of the 
> person, the travel radius indicates a distance which the person is willing to 
> travel.
> 
> I would like to search for all persons which are willing to travel to a 
> particular place (also given as lat/lon coordinates). In other words I have to 
> do a query with the geofilt filter. The problem here: the distance parameter d 
> cannot be defined in advance, but should correspond to the travel radius (which 
> may be different for each person).
> 
> Any ideas how this problem could be solved?
> 
> Thanks in advance
> Michi