我不是问有关实现拼写判断算法本身的问题.我有一个包含数十万条记录的数据库.我要做的是对照表中的特定列判断用户输入以查找所有这些记录,并返回具有特定Hamming距离的任何匹配(同样,这个问题不是关于确定Hamming距离等).当然,这样做的目的是创建一个"你是不是有意的"特性,用户在其中搜索一个名字,如果在数据库中没有找到直接匹配,则返回一个可能匹配的列表.
我正试图想出一种方法,尽可能在最合理的运行时间内完成所有这些判断.我如何才能以最有效的方式对照所有这些记录判断用户的输入?
该功能目前已经实现,但运行时非常慢.它现在的工作方式是将用户指定表中的所有记录加载到memory中,然后执行判断.
无论如何,我正在使用NHibernate进行数据访问.
如果有任何关于我如何做到这一点或我的 Select 是什么的反馈,我将不胜感激.