algorithm - 为非英语字符启用 soundex/metaphone

标签 algorithm search lucene soundex metaphone

过去几天我一直在研究 soundex、metaphone 和其他字符串搜索技术,据我所知,这两种算法在处理音译为英语的非英语单词时效果很好。

然而,我的要求是这样的搜索可以在原始的、未音译的语言中工作,容纳德语、挪威语甚至西里尔字母等字母表。

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

最佳答案

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

Double-Metaphone是一种处理比 Soundex 或 Metaphone 复杂得多的变化的尝试,旨在处理一系列语言中的不规则性。它可能足以满足您的需求。链接页面上有一个库实现列表。

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

关于algorithm - 为非英语字符启用 soundex/metaphone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1419882/

相关文章:

algorithm - 使用链接填充哈希表的最坏情况和最佳情况时间?

java - Lucene:MultiFieldQueryParser 中的 boolean OR

java - Lucene 对整个文本进行模糊搜索

elasticsearch - Lucene:按文档 ID 过滤查询

lucene - 查询嵌套文档中的缺失字段

java - 如何在二分查找中找到数组的最后一个元素

algorithm - 寻找真实单词的回文

string - 如何使字符串成为具有最少移位次数的回文?

javascript - 使用可从网络访问的静态索引文件实现可扩展的文本搜索?

elasticsearch - 可以在 Elasticsearch 中存储图像吗?