狮身人面像与metaphone和通配符搜索

时间:2015-02-26 17:01:24

标签: sphinx thinking-sphinx metaphone

我们是一个解剖平台,并使用sphinx进行搜索。我们希望让我们的搜索更加模糊,并开始使用metaphone来纠正拼写错误。即使搜索词为phalanges,它也会找到falanges

这很好,但我们想要更多。我们希望用户可以输入falange甚至falang,我们仍然可以找到phalanges。任何想法如何实现这一目标?

如果您有兴趣,可以查看我们的sphinx配置文件here

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以立即在索引上同时启用metaphonemin_prefix_len。这将是一种工作。

falange* 
然后

可能会起作用。 (匹配phalanges

问题在于剥离了#39;字母可能会改变声音'这个词(因为改变了发音)

例如falange变为FLNJ,但falang变得FLNK - 所以他们不再是' substrings'彼此(即指骨变为FLNJSFLNK*不匹配)


...说实话我不知道一个好的解决方案。你可能会得到更好的结果,如果是应用词干,BEFORE metaphone。 (因此删除了改变单词发音的结尾。

唉,狮身人面像无法做到这一点。如果同时启用词干和变音符,则只会触发一个处理器。


两种可能的解决方案,在sphinx之外实现词干(或者使用regexp_filter。不确定是否可以使用正则表达式实现porter词干提取器)

或修改sphinx,以便适用所有形态处理器。 (而不仅仅是改变这个词的第一个)