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.