You are correct. The index is on Member. The search actually provides
full text capabilities on all the attributes of a member with the
result set limited by the geo portion of the query. So, you can find
all the members with 'Real Estate Agent' in their title or description
fields within X miles of your current location (25 miles of Seattle,
for example). Ideally, the search is on Member with the constraint
being the distance from the Addresses. I'd really hate to lose the
flexibility of the current index and query - the configuration was
drop dead simple and elegant. Turning it around would be a bit
cumbersome and counterintuitive.

Andrew

On Aug 10, 8:41 pm, James Healy <[email protected]> wrote:
> I assume your index is defined on your Member class?
>
> How about moving the index to the Address class? That way a geo search
> will return Address instances and you can grab the member by walking the
> objects.
>
> I'm not sure that help with returning distinct Member's, but it might
> still be a step in the right direction.
>
> -- James Healy <jimmy-at-deefa-dot-com>  Tue, 11 Aug 2009 13:37:27 +1000
>
>
>
> Andrew Lippert wrote:
>
> > Here's one that has me stumped:
>
> > Members has_many Businesses has_many Addresses (geo coded).
>
> > I'd like to be able to do a geo search on members within a distance of
> > an origin point. I have successfully implemented the search using a
> > rolled up primary_address lat and long (rolled up to the member
> > record). However, that doesn't quite address the need. Ideally, the
> > search index would include a row for each member/business/address
> > which I could then do a geo search against. I would then like to
> > restrict the returned search result set to distinct instances of the
> > matching members. This would allow me to display the single member
> > record even if the geo search included two associated addresses for
> > the member to business to address associations.
>
> > Here's a real example: One member has a business located in Seattle
> > and a second business located in Portland. I'd like to search for all
> > members within 25 miles of Seattle and return the member. Then do a
> > search within 500 miles of Seattle (which would match both address
> > records) but return a single instance of the member.
>
> > Any idea on how to configure this index and Sphinx query?
>
> > Thanks for any assistance,
>
> > Andrew Lippert
> > CTO Biznik
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/thinking-sphinx?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to