如何从几个不同的来源导入和合并类似(但不相等)的文本

时间:2013-05-14 09:39:13

标签: java c# string algorithm import-from-excel

我从多个文件(excel文件)导入一组数据,这些文件每天保存没有标识符的记录。 然后将数据需求存储在关系数据库(Oracle)中。

问题是文本可能与每个资源略有不同,因为没有唯一标识符,我需要以某种方式将我的比较基于文本值。

让我们举例说,我从不同的来源获得这些信息:

Source A: The Dark Knight
Source B: Batman The Dark Knight
Source C: The Dark Knight 2008
Source D: The Dark Knight Rises

如果数据库已经拥有item_name为“The Dark Knight”的项目,那么当我从源A,B,C导入这些行时,我将获得“完全匹配”,但不是D,因为这是一部不同的电影。

要了解的事情:

  • 此过程不是100%自动化,因此如果不匹配,将会有用户交互手动匹配或创建新记录。
  • 虽然存在用户互动,但我希望将其保持在最低限度(特别是在用户手动匹配某个项目之后)。

如何在不使用每个项目的大量同义词来扩充数据库的情况下解决这个问题?

1 个答案:

答案 0 :(得分:0)

2013年5月21日更新

我发现:http://matpalm.com/resemblance/

使用 jaccard系数。尽管如此,我不确定它是否最符合我的复杂性,匹配mxn次数,其中m是导入记录的大小,n是可能有数万个数据库的总数据库记录。 / p>