忽略狮身人面像指数中的撇号

时间:2010-01-26 22:50:19

标签: ruby configuration sphinx thinking-sphinx stop-words

在我的sphinx配置文件中,我有以下内容:

ignore_chars: "U+0027"
charset_table: "0..9, a..z, _, A..Z->a..z, U+00C0->a, U+00C1->a,
  U+00C2->a, U+00C3->a, U+00C4->a, U+00C5->a, U+00C7->c, U+00C8->e,
  U+00C9->e, U+00CA->e, U+00CB->e, U+00CC->i, U+00CD->i, U+00CE->i [SNIP]"

(charset_table条目来自此处:http://speeple.com/unicode-maps.txt

预期结果是查询kyles将返回与kyles和/或kyle's匹配的所有记录,因为我告诉sphinx排除'(单引号/) index(ab'cd - > abcd)。但是,在实践中,这种情况并没有发生。

1 个答案:

答案 0 :(得分:0)

我相信将它添加到ignore_chars与预期效果相反。这告诉狮身人面像不要分裂那个角色,而是会折叠要被忽略的角色周围的单词。因此,kyle's将成为kyles而不是kyles

我刚刚尝试解决此问题的解决方案似乎是将s添加到我的停用词列表中(可能还需要's,也不记得了)。狮身人面像似乎将kyle's分为单词kyle's。由于匹配所有模式已启用,因此某些文档在's的匹配项上失败。将它添加到停用词似乎具有所需的效果。

看起来正常的干预应该照顾这个,所以也许我们都做错了...

相关问题