Algorithm 为非英语字符启用soundex/metaphone

Algorithm 为非英语字符启用soundex/metaphone,algorithm,search,lucene,soundex,metaphone,Algorithm,Search,Lucene,Soundex,Metaphone,在过去的几天里,我一直在学习soundex、metaphone和其他字符串搜索技术,据我所知,这两种算法都能很好地处理翻译成英语的非英语单词 然而,我的要求是,这种搜索将在原始的、未经翻译的语言中工作,能够容纳德语、挪威语甚至西里尔语等字母 有没有能够完全处理这些字母表的搜索算法?还是我最好使用第三方全文搜索库,比如Lucene?因此,问题变成了“Lucene处理非英语字母表吗?”从这篇文章开始,维基百科上有一些很好的参考资料。我不知道现有的库是否设计用于处理如此广泛的语言。我不是这方面的专家,

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

然而,我的要求是,这种搜索将在原始的、未经翻译的语言中工作,能够容纳德语、挪威语甚至西里尔语等字母


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

从这篇文章开始,维基百科上有一些很好的参考资料。我不知道现有的库是否设计用于处理如此广泛的语言。

我不是这方面的专家,但您的要求对我来说似乎相当困难。是专为英语发音和字符设计的。我认为它在非英语语言中不会有好的表现。例如,请参见对的响应

是一种处理比Soundex或Metaphone复杂得多的变体的尝试,旨在处理一系列语言中的不规则现象。这可能足以满足你的需要。链接页面上有一个库实现列表


对中其他语言的支持基于的概念。Lucene提供了一套针对不同语言的分析器(虽然我找不到默认列表),但其质量可能是。

那里的参考文献都指向处理欧洲名字英语拼写的算法。我还没有看到任何一种能真实地处理特殊字符的语言,除非我理解错误。我认为Soundex的一些变体可能是为了更好地与其他语言配合使用而设计的,但它们有点侧重于英语或英语拼写。为每种语言编写类似Soundex的代码并不难,但如果你不是母语人士,你可能需要语言学家的帮助。如果你的用例只是非英语语言的文本搜索,你可能不需要Soundex。正如ire_和_curses所说,你确实需要Lucene和一个合适的分析仪。如果要处理同一单词的不同书写变体,则需要语音匹配算法。你能说更多关于你的用例吗?看起来Lucene+分析器是我真正想要的,谢谢。)汉语、日语、阿拉伯语和印度语呢?