So let's say x=10 miles. Now if I search for San then San Francisco, San Mateo should be returned because there is a retail store in San Francisco. But San Jose should not be returned because it is more than 10 miles away from San Francisco. Had there been a retail store in San Jose then it should be also returned when you search for San. I can restrict the queries to a country.
Thanks, ~Venu On Mar 2, 2012, at 5:57 AM, Erick Erickson <erickerick...@gmail.com> wrote: > I don't see how this works, since your search for San could also return > San Marino, Italy. Would you then return all retail stores in > X miles of that city? What about San Salvador de Jujuy, Argentina? > > And even in your example, San would match San Mateo. But should > the search then return any stores within X miles of San Mateo? > You have to stop somewhere.... > > Is there any other information you have that restricts how far to expand the > search? > > Best > Erick > > On Thu, Mar 1, 2012 at 4:57 PM, Venu Gmail Dev <venushankar...@gmail.com> > wrote: >> I don't think Spatial search will fully fit into this. I have 2 approaches >> in mind but I am not satisfied with either one of them. >> >> a) Have 2 separate indexes. First one to store the information about all the >> cities and second one to store the retail stores information. Whenever user >> searches for a city then I return all the matching cities from first index >> and then do a spatial search on each of the matched city in the second >> index. But this is too costly. >> >> b) Index only the cities which have a nearby store. Do all the >> calculation(s) before indexing the data so that the search is fast. The >> problem that I see with this approach is that if a new retail store or a >> city is added then I would have to re-index all the data again. >> >> >> On Mar 1, 2012, at 7:59 AM, Dirceu Vieira wrote: >> >>> I believe that what you need is spatial search... >>> >>> Have a look a the documention: http://wiki.apache.org/solr/SpatialSearch >>> >>> On Wed, Feb 29, 2012 at 10:54 PM, Venu Shankar >>> <venushankar...@gmail.com>wrote: >>> >>>> Hello, >>>> >>>> I have a design question for Solr. >>>> >>>> I work for an enterprise which has a lot of retail stores (approx. 20K). >>>> These retail stores are spread across the world. My search requirement is >>>> to find all the cities which are within x miles of a retail store. >>>> >>>> So lets say if we have a retail Store in San Francisco and if I search for >>>> "San" then San Francisco, Santa Clara, San Jose, San Juan, etc should be >>>> returned as they are within x miles from San Francisco. I also want to rank >>>> the search results by their distance. >>>> >>>> I can create an index with all the cities in it but I am not sure how do I >>>> ensure that the cities returned in a search result have a nearby retail >>>> store. Any suggestions ? >>>> >>>> Thanks, >>>> Venu, >>>> >>> >>> >>> >>> -- >>> Dirceu Vieira JĂșnior >>> ------------------------------------------------------------------- >>> +47 9753 2473 >>> dirceuvjr.blogspot.com >>> twitter.com/dirceuvjr >>