0
votes

for example when I search 'Désinfection' or 'hello(worlds)', Result = 0 because of 'é' and '('

I try to change it with '*' and spaces but no result

Sphinx Unexpected search options: [:match_mode] Sphinx Query (1.2ms) SELECT *, weight() as st FROM form_core WHERE MATCH('hello(worlds) @country 5') AND active = 1 AND sphinx_deleted = 0 ORDER BY store DESC, st DESC LIMIT 0, 15 OPTION field_weights=(vip_keywords=20, categorie=7, keywords=4, rsu=3, rs=3, description=2), max_matches=150 Sphinx Found 0 results

1

1 Answers

0
votes

A few things to note here:

To have accented and non-accented characters treated as 'identical', you'll need to use the charset_table setting:

It may be worth referring to someone else's value for that setting which covers perhaps all accented characters:

As for punctuation characters, they are not indexed by Sphinx in its default behaviour - so "hello(world)" in a field would actually be stored by Sphinx as "hello world". If you want punctuation indexed (which I would not recommend, because it'll make the field values far less flexible), you need to list those characters as part of your charset_table setting.

Also: I'm guessing you're using TS v3 or newer - which is great! - but that also means that :match_mode is no longer a useful option. TS v3+ uses Sphinx's SphinxQL query syntax (which you can see in your question - it's almost identical to SQL) - and queries there are always using what was previously defined as the extended match mode.