狮身人面像搜索不理解特殊字符(重音符号)

时间:2016-01-26 21:14:27

标签: php mysql sphinx

我在utf8_general_ci中有一个MySQL数据库。

我的sphinx.conf是这样的:

source jobs
{
    type                = mysql
    sql_sock            = /var/run/mysqld/mysqld.sock
    sql_query_pre       = SET NAMES utf8
    ...
}

当我查询“système”时,我希望sphinx能够搜索“système”& DB中的“系统”。

当我查询“systeme”时,我希望sphinx能够搜索“système”& “系统”也是。

它现在所做的是删除重音之前的所有字符(包括重音本身)。所以“système”变成“我”而“dév”变成“v”......

PS:我正在使用sphinxapi.php - 我知道,它不应该优于SphinxQL,但它仍然适用于api。我使用EXTENDED匹配模式。

1 个答案:

答案 0 :(得分:0)

您需要设置charset_table才能执行此操作

http://sphinxsearch.com/docs/current.html#charsets

唉,没有神奇的魔力。配置选项只是神奇地使用所有语言文本,需要设置charset_table来处理你处理的langauge。

虽然这非常接近: http://sphinxsearch.com/forum/view.html?id=9312 (即窃取MySQL在校对时所做的艰苦工作,并在charset_table中模仿它)