Ah. Once again it's my fault. I'm running postgres and I didn't check the Common Questions section on the docs. You need to add this to define_indexes:
group_by "latitude", "longitude" Thanks to Pat for pointing me in the right direction. On Nov 26, 2:41 pm, Bodaniel Jeanes <[email protected]> wrote: > Turns out I was an idiot and forgot to turn my degrees into radians > when *calling* the search method (my 'origin' variable was an array of > lat/lng as google would give it) > > However, now I have no results returned whatsoever (even for non-geo > searches). I think it's related to the error when reindexing: > > ERROR: index 'venue_core': sql_range_query: ERROR: column > "venues.latitude" must appear in the GROUP BY clause or be used in an > aggregate function > > I've narrowed it down so that commenting out the `has > "RADIANS(latitude/longitude)"...` lines and reindexing makes normal > keyword search work, and uncommenting + reindex breaks all search > again. > > Is TS generating invalid SQL and hence never creating any indexes? > > On Nov 26, 10:43 am, Bodaniel Jeanes <[email protected]> wrote: > > > > > > > > > Hey, > > > I'm having really weird results when trying to use @geodist. > > > My setup is pretty standard (I think). I've got a Venue with float lat/ > > long columns and I've got my indexes as per the Geo-Searching docs: > > > define_index do > > indexes name, :sortable => true > > > has created_at > > > has "RADIANS(latitude)", :as => :latitude, :type => :float > > has "RADIANS(longitude)", :as => :longitude, :type => :float > > > set_property :delta => true > > end > > > However, given the following search in the controller (again, as per > > the docs): > > > @venues = Venue.search(search_terms, :geo => origin, :order => > > "@geodist ASC, @relevance DESC") > > > The @geodist values (as accessed through sphinx_attributes or via > > each_with_geodist) are incredibly high. If I do a search with an > > origin I know to be about 2km from the nearest venue, the > > corresponding @geodist value is 11752209.0! That value doesn't make > > sense as metres, cm, mm, or even nanometres. > > > I'm very confused by this as I'm pretty much following the geo- > > searching docs verbatim here. > > > AFAICT it is still ordering the results correctly (i.e. nearer venues > > have a lower @geodist than far ones). > > > I'm running sphinx-0.9.9-release, Rails 3.0.3, and TS 2.0.1. > > > One thing that is possibly related: when I regenerated the sphinx conf > > files after adding the lat/long indexes and reindexed, I got the > > following output: > > > ERROR: index 'venue_core': sql_range_query: ERROR: column > > "venues.latitude" must appear in the GROUP BY clause or be used in an > > aggregate function -- 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.
