【发布时间】:2010-08-26 04:01:42
【问题描述】:
我有一个要搜索的人员列表。我需要知道每个项目与它正在测试的字符串匹配的“多少”。
列表很小,目前有 100 多个名字,而且可能不会很快达到 1000 个。
因此,我认为将整个列表保存在内存中并使用 Java 提供的开箱即用的东西或使用一些仅实现一两个测试算法的小型库进行搜索是可以的。 (换句话说,没有引入任何存储索引或依赖数据库的复杂/矫枉过正的解决方案。)
请问在这种情况下你会怎么选?
编辑:似乎 Levenshtein 最接近我所需要的建议。只有当搜索查询是“John”并且列表中的名字明显更长时,才会很容易被愚弄。
【问题讨论】:
-
这个过程的结果应该是什么?
-
每个单一比较/匹配的结果将是一个代表相关性的浮点数,整个过程的结果将是相关性高于某个阈值的五个左右最佳匹配的列表。