Sphinx - 将 utf8 字符分解为 space

Sphinx - Breaks utf8 character to space

我有一个字符串 seule la présentation

当我进行短语搜索时 "pr",sphinx 匹配这个字符串,但它不应该匹配,因为没有单词 pr 出现在其中。

但是搜索"pre"却不匹配

问题似乎出在这个 utf8 字符 é 上。 Sphinx 在索引时忽略此字符,并将此字符之前的字符串视为单词。

这是匹配模式 Sphinx 的示例 Sphinx 查询 SPH_MATCH_EXTENDED :

@name: "pr"

有什么解决方法吗?

不是这方面的专家,但知道使用 sphinx 你必须通过 charset_table

明确列出哪些字符被认为是 'words' 的一部分(其他所有字符都被认为是分隔符)

http://sphinxsearch.com/docs/current/conf-charset-table.html

因此您需要将这些字符包含在 charset_table 中,以便它们可索引(有或没有 'folding' 非方言字符)

这是一个 wiki 页面 http://sphinxsearch.com/wiki/doku.php?id=charset_tables 列出一些东西,你可以 copy/paste。