如何在思维狮身人面像上转义或转换特定字母

时间:2019-07-10 16:15:28

标签: ruby-on-rails search sphinx thinking-sphinx

例如,当我搜索'Désinfection'或'hello(worlds)'时,由于'é'和'('

我尝试用'*'和空格更改它,但是没有结果

Sphinx意外的搜索选项:[:match_mode]   狮身人面像查询(1.2ms)SELECT *,weight()as从form_core WHERE MATCH('hello(worlds)@country 5')AND active = 1 AND sphinx_deleted = 0顺序BY store DESC,st DESC LIMIT 0、15选项field_weights =(vip_keywords = 20,categorie = 7,关键字= 4,rsu = 3,rs = 3,description = 2),max_matches = 150   Sphinx找到了0个结果

1 个答案:

答案 0 :(得分:0)

这里需要注意的几件事:

要把带重音符号和不带重音符号的字符视为“相同”,您需要使用charset_table设置:

可能值得一提的是,该设置涵盖了所有重音字符的其他人的值:

对于标点符号,Sphinx不会以默认行为将它们编入索引,因此Sphinx实际上会将字段中的“ hello(world)”存储为“ hello world”。如果要为标点符号建立索引(不建议使用标点符号,因为它会使字段值的灵活性大大降低),则需要将这些字符列为charset_table设置的一部分。

也:我猜您正在使用TS v3或更高版本-太好了! -但这也意味着:match_mode不再是一个有用的选项。 TS v3 +使用Sphinx的SphinxQL查询语法(在您的问题中可以看到-与SQL几乎相同),并且查询始终使用以前定义为扩展匹配模式的内容。