I would just replace non-word chars with spaces...

gsub(/\W+/, ' ') should do the trick

--  
Pat

On 26/11/2009, at 2:05 PM, agibralter wrote:

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

--

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