This is because, with more than one model, TS doesn't have a reference point 
for attributes, and so doesn't try to guess what your lat/lon attributes are. 
If you explicitly add :latitude_attr => :latitude, :longitude_attr => 
:longitude to your ThinkingSphinx.search call, that should make it work.

Cheers

-- 
Pat

On 01/06/2010, at 10:41 AM, badnaam wrote:

> OK, my get_radian method was the problem, I was sending it the wrong
> parameters.
> instead of ..
> 
> l = (Geokit::Geocoders::GoogleGeocoder.geocode 'xxxxx').ll
> la = Address.get_radian(l[0], l[1])
> 
> it should be
> l = (Geokit::Geocoders::GoogleGeocoder.geocode 'xxxxx')
> la = Address.get_radian(l.lat, l.lng)
> 
> My apologies for the silly mistake!
> 
> So now it works. But I have another problem.
> 
> I am using geo search on two models Store and Article
> 
> When I do this..
> 
> Article.search(:geo => ll, :with => {"@geodist" => 0.00..(20 *
> 1609.344)})..it works
> Store.search(:geo => ll, :with => {"@geodist" => 0.00..(20 *
> 1609.344)})..it works
> ThinkingSphinx.search ("lorem") works too.
> ThinkingSphinx.search(:geo => ll, :with => {"@geodist" => 0.00..(20 *
> 1609.344)}, :classes => [Article]) or ThinkingSphinx.search(:geo =>
> ll, :with => {"@geodist" => 0.00..(20 * 1609.344)}. :classes =>
> [Store])...works too!
> 
> But.
> ThinkingSphinx.search(:geo => ll, :with => {"@geodist" => 0.00..(20 *
> 1609.344)}) or ThinkingSphinx.search(:geo => ll, :with => {"@geodist"
> => 0.00..(20 * 1609.344)}. :classes => [Store, Article])..does not
> work.
> 
> Any reason?
> 
> Thanks
> 
> 
> 
> 
> 
> On May 31, 9:42 am, badnaam <[email protected]> wrote:
>> Could this be happening because lat and lng is stored in a polymorphic
>> association? Perhaps the address pluralization issue is causing
>> problems internally? Strange thing is that without the @geodist option
>> it does product results. Is there a log somewhere that can shed more
>> light?
>> 
>> Thanks!
>> 
>> On May 31, 12:47 am, badnaam <[email protected]> wrote:
>> 
>>> I tried that still no result. strange.
>> 
>>> On May 30, 11:33 pm, Pat Allan <[email protected]> wrote:
>> 
>>>> I'm not sure if it matters, but try changing your set_property values to 
>>>> symbols instead of strings. Although really, you shouldn't need them, 
>>>> since you're using standard attribute names.
>> 
>>>> Have you restarted Sphinx (and reindexed) since adding the lat/lng 
>>>> attributes?
>> 
>>>> --
>>>> Pat
>> 
>>>> On 31/05/2010, at 4:30 PM, badnaam wrote:
>> 
>>>>> define_index do
>>>>>        indexes :name, :sortable => true
>> 
>>>>>        indexes address.city, :as => :city
>> 
>>>>>        has created_at, updated_at
>> 
>>>>>                     has 'RADIANS(addresses.lat)', :as
>>>>> => :latitude,  :type => :float
>>>>>        has 'RADIANS(addresses.lng)',:as => :longitude, :type
>>>>> => :float
>> 
>>>>>        set_property :latitude_attr   => "latitude"
>>>>>        set_property :longitude_attr  => "longitude"
>> 
>>>>>    end
>> 
>>>>> On May 30, 5:38 pm, Pat Allan <[email protected]> wrote:
>>>>>> What does your define_index block look like in your Store model?
>> 
>>>>>> --
>>>>>> Pat
>> 
>>>>>> On 31/05/2010, at 6:53 AM, badnaam wrote:
>> 
>>>>>>> I am trying to do a proximity search like..
>> 
>>>>>>> l = (Geokit::Geocoders::GoogleGeocoder.geocode 'xxxxx').ll
>> 
>>>>>>> la = Address.get_radian(l[0], l[1])
>> 
>>>>>>> def self.get_radian(lat, lng)
>>>>>>>        return [(lat / 180.0) * Math::PI, (lng / 180.0) * Math::PI]
>>>>>>>    end
>> 
>>>>>>> Store.search("green", :geo => la, :with => {"@geodist" =>
>>>>>>> 0.0..50_000.0})
>> 
>>>>>>> This returns no results, I know it should return some records, and it
>>>>>>> does if I take the @geodist out, what am I doing wrong here?
>> 
>>>>>>> Thanks
>> 
>>>>>>> --
>>>>>>> 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 
>>>>>>> athttp://groups.google.com/group/thinking-sphinx?hl=en.
>> 
>>>>> --
>>>>> 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 
>>>>> athttp://groups.google.com/group/thinking-sphinx?hl=en.
> 
> -- 
> 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.
> 

-- 
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