我遇到的情况是我以字符串格式获取数据(地理区域的名称)。(例如: - 亚洲,澳大利亚)有时我也会获得超过1个区域的字符串(例如: - 欧洲和非洲,北美和德国等)。这些地区的分隔符也有所不同,但区域保持不变(例如: - 亚洲和非洲,亚洲 - 非洲,亚洲/非洲等)。主要问题是这些数据可能不一致。它也拼错了。(例如: - 太平洋/太平洋等)
现在我需要将所有这些区域映射到一组存储桶中,但到目前为止我必须手动执行此操作。有没有办法可以至少在某种程度上自动化这些字符串的映射?我试图使用soundex函数,但我决定反对它,因为美国或美国或美国显示不同,奥地利和澳大利亚显示相同。
感谢您的帮助
答案 0 :(得分:0)
您是否考虑过使用(模糊)搜索引擎? (例如Lucene)。
为此,我会做以下事情:
最后,你会得到最高分的分数。
您可以使用FuzzyQuery处理拼写错误(例如,如果输入中允许错误),则将编辑距离作为参数。
请记住,无论你做什么,如果你无法控制输入的质量,你会得到一些(读:可以很多)误报。
答案 1 :(得分:0)
我会拼写检查
spell check in code behind
从那里创建同义词
计算拼写错误的单词
从最常见拼写错误的同义词开始
您也可以使用levenshtein距离查找相似的单词
即使有英文我也不推荐soundex。