Hi Yuri

Sorry for not getting back to you sooner on this, it's been a busy fortnight.

I've just tested this in a local app, here's what I've found:

* column contains "ABC XYZ A++++"
* Without enable_star, min_infix_len and charset table settings, the following 
searches both return the object:
  Model.search "ABC XYZ A++++"
  Model.search :conditions => {:column => "ABC XYZ A++++"}
* With enable_star and min_infix_len, but *not* charset table, both of those 
searches still work.
* Adding in charset_table (as you defined in your original email), both of 
those searches also still work, but this one does not:
  Model.search :conditions => {:column => "ABC XYZ A++++"}, :star => true

I've not used any escaping (I've not needed to). Is the query "ABC XYZ A++++" 
actually what's in your database? Perhaps it's better to work through this 
issue with real data. Also: do you generally want to match against + values? 
And what version of Sphinx are you using?

-- 
Pat

On 17 Jun 2014, at 2:16 pm, [email protected] wrote:

> Uhm ... unfortunately seems doesn't work both the ways. :(
> 
> Il giorno martedì 17 giugno 2014 13:17:26 UTC+2, Pat Allan ha scritto:
> So it turns out + isn't one of the escaped characters... but perhaps it 
> should be.
> 
> Can you try this and see if it helps?
> 
>     conditions: {has_dccs: code.gsub('/', '\/').gsub('+', '\+')}, star: true
> 
> Another possibility is it's the wildcarding of words that's getting in the 
> way. Try it without star: true too.
> 
> On 17 Jun 2014, at 12:59 pm, [email protected] wrote:
> 
>> Hi Pat,
>> 
>> for first sorry if I didn't reply before but I could not work on it.
>> 
>> I've installed Riddle and added in my Class file:
>> 
>> require 'riddle'
>> 
>> then I try to escape the code in this way
>> 
>> conditions: { has_dccs: Riddle.escape(code.gsub('/', '\/')) }, star: true
>> 
>> code = "ABC XYZ A++++"
>> 
>> but still not works
>> 
>> If I print Riddle.escape(code) I can't see any difference with originale 
>> code. Print always ABC XYZ A++++ and no escaping seems added
>> 
>> Thanks again
>> 
>> P.S.
>> Charset table is: 
>> charset_table: "0..9, A..Z->a..z, _, +, a..z, U+410..U+42F->U+430..U+44F, 
>> U+430..U+44F, U+002B, U+FE62, U+FF0B" 
>> 
>> where U+002B = "+"
>> 
>> Il giorno lunedì 9 giugno 2014 17:11:00 UTC+2, Pat Allan ha scritto:
>> Hi Yuri
>> 
>> I think this is because Sphinx considers + to be a special character in 
>> search queries. You can escape it though:
>> 
>>   Riddle.escape "ABC XYZ A++++"
>> 
>> You will still need the + character in your charset_table settings too.
>> 
>> Does escaping fix the problem?
>> 
>> -- 
>> Pat
>> 
>> On 9 Jun 2014, at 11:14 am, [email protected] wrote:
>> 
>>> I'm using thinking-sphinx (2.0.14)
>>> 
>>> Il giorno lunedì 9 giugno 2014 11:07:49 UTC+2, [email protected] ha 
>>> scritto:
>>> Hi all, 
>>> 
>>> for first sorry for my english.
>>> 
>>> I need to make a search on a string like "ABC XYZ A+++".
>>> 
>>> Everything work fine when I don't have the "A+++" substring.
>>> 
>>> I've changed the charset_table config in sphinx.xml adding U+002B (that 
>>> seems to be the unicode value for plus symbol) and rebuild index but 
>>> without success.
>>> 
>>> I've tried to add also other similar plus symbol like  U+FE62, U+FF0B but 
>>> still not works.
>>> 
>>> This is my config file:
>>> 
>>> development:
>>>   enable_star: true
>>>   min_infix_len: 1
>>>   max_matches: 1000000
>>>   max_filter_values: 200000
>>>   charset_table: "0..9, A..Z->a..z, _, +, a..z, U+410..U+42F->U+430..U+44F, 
>>> U+430..U+44F, U+002B, U+FE62, U+FF0B" 
>>>   thread_stack: 512K 
>>>   mem_limit: 128M
>>> 
>>> Thanks in advance.
>>> 
>>> Yuri.
>>> 
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Thinking Sphinx" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/thinking-sphinx.
>>> For more options, visit https://groups.google.com/d/optout.
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Thinking Sphinx" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/thinking-sphinx.
>> For more options, visit https://groups.google.com/d/optout.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/thinking-sphinx.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/d/optout.

Reply via email to