I think I've solved the issue. It turns out we had some crazy future dates in the database. I guess Sphinx just throws up its hands (...er paws?) at dates sufficiently far in the future. Surprised Postgres was happy with them.
For example "200912-06-27 00:00:00" was one of them.. I cleaned out everything over 10 years in the future, and anything before our company was founded from the database, and Sphinx is spitting out believable results now. On Oct 15, 10:24 am, JeffLuckett <[email protected]> wrote: > In addition to the above, I also redefined the index from "has > local_start_time" to "indexes local_start_time". > > Then: > > Events::Event.search('*amanda*' > ,:conditions=>{:local_start_time=>1.year.ago..Time.now}).total_entries > => 0 > > Also, I had read somewhere that times had to be converted to ints when > used in an index, so I tried: > > Events::Event.search('*amanda*' > ,:conditions=>{:local_start_time=>1.year.ago.to_i..Time.now.to_i}).total_en > tries > => 0 > > On Oct 15, 9:31 am, Jeff Luckett <[email protected]> wrote: > > > > > Ok, sphinx upgraded to 0.9.9 > > > rake ts:rebuild run with "has local_start_time" defined in the index: > > > > Events::Event.search_count > > => 60397 > > > ...so that looks a little better. > > > Now when I run the query without the :with clause, it returns a > > reasonable result (which it wasn't doing before), so that's an improvement: > > > Events::Event.search('amanda' , :start=>true).total_entries > > => 205 > > > However, when I try and use the :with clause and a time range over the > > last year, I get zero results: > > > Events::Event.search('amanda' , :start=>true, > > :with=>{:local_start_time=>1.year.ago..Time.now}).total_entries > > => 0 > > > So, for a sanity check, I ran the following: > > > ree-1.8.7-2010.02 > ids = Events::Event.search('amanda' , :start=>true, > > :per_page=>400 ).collect{|res| res.id} > > ree-1.8.7-2010.02 > ids.count > > => 205 > > > Now I've got an array of event_ids for the full search result ( I guess > > I could have used search_for_ids, but I wanted to compare apples to > > apples). So, now I'll do just a standard Rails model count query on the > > above ids, and include the date range, which /should/ be the functional > > equivalent of the Sphinx query using the :with clause. > > > ree-1.8.7-2010.02 > Events::Event.count(:all, :conditions=>["id in (?) > > and local_start_time between ? and ?",ids ,1.year.ago, Time.now]) > > => 142 > > > On 10/14/10 11:39 PM, Pat Allan wrote: > > > > Ah, bugger. Well, let's see if Sphinx 0.9.9 helps matters. -- 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.
