一尘不染

为非英语字符启用soundex / metaphone

algorithm

过去几天,我一直在研究soundex,metaphone和其他字符串搜索技术,据我了解,这两种算法都能很好地处理转译为英语的非英语单词。

但是,我的要求是,这样的搜索必须以原始的,未音译的语言工作,并能容纳德语,挪威语甚至西里尔字母等字母表。

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


阅读 199

收藏
2020-07-28

共1个答案

一尘不染

我不是这方面的专家,但是您的要求对我来说似乎很难。Soundex专为英语声音和字符而设计。我认为非英语语言效果不佳。

Double-Metaphone试图处理比Soundex或Metaphone更复杂的变体,并且旨在处理多种语言中的不规则性。可能足以满足您的需求。链接页面上有库实现的列表。

Lucene对其他语言的支持基于“
分析器”的概念。Lucene附带了一组针对不同语言的分析器(尽管我找不到默认列表),但是质量可能会变化很大。

2020-07-28