Also, is there a preferred method of searching just words? What I'm trying to achieve is something where people type in a question in plain english and the app returns similar questions that other people already asked (like GetSatisfaction I think). Sometimes people might search something like: "Are you happy/excited about blah blah?" I don't think escaping the slash there makes sense... rather I think non- text characters should be replaced with spaces... Does query.gsub (Riddle.escape_pattern, ' ') make sense for this? Or should I do a gsub with /[^\w]/ ?
Also, I split on space and join with ORs because I want the rarest (and most likely *key*) words to be ranked the highest using the bm25 ranking algorithm. On Nov 25, 8:06 pm, agibralter <[email protected]> wrote: > Hmm, well the errors that came through on Hoptoad from production were > simply NoMethodErrors thrown because total_pages was trying to divide > nil: @total_pages ||= (@results[:total] / per_page.to_f).ceil => > @results[:total] was nil I guess. Nothing was in there about Sphinx > though. I think Riddle keeps the Sphinx errors pretty silent, no? > > This is really strange and I can't seem to recreate any of the > problems consistently... I was at one point getting the same issues on > my dev box in the console. You know how the log shows something like: > > Sphinx Querying: 'Would | it | be | funny | to | see | ZA | NEWS | > tv | commercials | on | SABC | (when | they | were | not | going | to > | run | the | show)?' > Sphinx (0.011262s) Found 0 results > > Well it said: > > Sphinx Querying: 'Would | it | be | funny | to | see | ZA | NEWS | > tv | commercials | on | SABC | (when | they | were | not | going | to > | run | the | show)?' > Sphinx (0.011262s) Found results > > I will continue to try to recreate the error... I will also look > through sphinx.query.log to see if anything pops up. > > On Nov 25, 6:03 pm, Pat Allan <[email protected]> wrote: > > > > > Hi Aaron > > > On your production machine, is there anything in the error log of your > > web server? (assuming you're using passenger - the apache/nginx logs > > are where any 'puts' results end up). If there isn't, then I've no > > idea - but I should have this patched some time today. > > > Cheers > > > -- > > Pat > > > On 26/11/2009, at 3:47 AM, agibralter wrote: > > > > Hi Pat, > > > > Thanks for the response -- so this is really weird: I have the same > > > ruby/rails code running on dev and production right now, but my dev > > > box is OS X and production is CentOS. I even have the same source of > > > Sphinx (Sphinx 0.9.9-rc2 (r1785)) compiled on both... > > > > The following query causes my production machine to raise the no > > > method exception (due to my total_pages call) but works just fine on > > > my dev box: "Would it be funny to see ZA NEWS tv commercials on SABC > > > (when they were not going to run the show)?" As I put in the gist, I > > > first escape that query, split it, and join it with ORs: query.gsub > > > (Riddle.escape_pattern, ' ').split(/\s+/).join(' | '). This gives me > > > the following raw query for sphinx: 'Would | it | be | funny | to | > > > see | ZA | NEWS | tv | commercials | on | SABC | when | they | were | > > > not | going | to | run | the | show | ?' (I do this so that the query > > > is run as a pure BM25 search -- I want the rare words to rank higher, > > > regardless of phrase construction). > > > > Any thoughts on how to figure out what is causing the Sphinx error? > > > > As for TS, I think I'll just rescue until the patch fixes the > > > total_pages issue... > > > > Thanks again, > > > Aaron > > > > On Nov 25, 12:32 am, Pat Allan <[email protected]> wrote: > > >> Hi Aaron > > > >> I think this only happens when Sphinx throws a warning or error, > > >> instead of actually returning 0 results. What's the query you're > > >> running? (And yes, it should be patched anyway - I think there might > > >> be a fork somewhere that fixes this). > > > >> -- > > >> Pat > > > >> On 25/11/2009, at 12:22 PM, agibralter wrote: > > > >>> I'm not too sure what to make of this... has anyone else ever had > > >>> trouble with sphinx not explicitly returning "0" results but rather > > >>> just returning nil? I can't quite figure out why sphinx is doing it, > > >>> but it seems like TS might still want to check for nil in its > > >>> total_pages method because it throws undefined method for nil > > >>> exceptions. > > > >>>https://gist.github.com/e67cd724cf4c58f8f4ed > > > >>> -- > > > >>> 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.
