代码之家  ›  专栏  ›  技术社区  ›  Jon Limjap

为非英语字符启用soundex/metaphone

  •  13
  • Jon Limjap  · 技术社区  · 15 年前

    在过去的几天里,我一直在学习Soundex、Metaphone和其他字符串搜索技术,据我所知,这两种算法在处理翻译成英语的非英语单词方面都很好。

    然而,我的要求是这样的搜索工作在原始的,未翻译的语言,适应字母,如德语,挪威语,甚至西里尔字母。

    是否有任何搜索算法能够完全处理这些字母?还是我最好使用第三方全文搜索库,如Lucene?因此,问题变成了“Lucene处理非英语字母吗?”

    2 回复  |  直到 15 年前
        1
  •  15
  •   Community CDub    8 年前

    我不是这方面的专家,但你的要求对我来说很难。 Soundex 专为英语发音和汉字设计。我认为它在非英语语言中不会表现得很好。例如,请参见对 this related question .

    Double-Metaphone 试图处理比Soundex或隐喻复杂得多的变体,旨在处理各种语言中的异常情况。这可能足以满足你的需要。链接页上有一个库实现列表。

    支持中的其他语言 Lucene 是基于 Analyzers . Lucene附带了一组不同语言的分析器(尽管我找不到默认列表),但是质量可能是 quite variable .

        2
  •  0
  •   Mark Bessey    15 年前

    维基百科上有一些很好的参考资料,从 Soundex 文章。我不知道是否有现有的库可以处理如此广泛的语言。

    推荐文章