在过去的几天里,我一直在研究soundex,metaphone和其他字符串搜索技术,据我所知,这两种算法在处理音译成英语的非英语单词方面都工作得很好。
然而,我的要求是这样的搜索工作在原始的,非音译的语言,容纳字母表,如德语,挪威语,甚至Cyrilic字母。
有没有能够完全处理这些字母表的搜索算法?或者我最好使用第三方全文搜索库,比如Lucene?因此,问题就变成了“Lucene是否处理非英语字母表?”
发布于 2009-09-14 07:02:26
我不是这个领域的专家,但你的需求对我来说似乎相当困难。Soundex是专门为英文语音和字符设计的。我不认为它会在非英语语言中表现得很好。例如,请参阅对this related question的响应。
Double-Metaphone试图处理比Soundex或Metaphone复杂得多的变体,旨在处理各种语言中的违规现象。它可能足以满足您的需求。在链接页面上有一个库实现列表。
在Lucene中对其他语言的支持是基于Analyzers的概念。Lucene提供了一组针对不同语言的分析器(虽然我找不到默认列表),但质量可能是quite variable。
发布于 2009-09-14 06:46:11
从Soundex的文章开始,维基百科上有一些很好的参考资料。我不知道是否有现成的库被设计来处理如此广泛的语言。
https://stackoverflow.com/questions/1419882
复制相似问题