0

我正在考虑合并(和重复删除)多个产品目录的策略。

我将使用一个 no-sql 数据库,并且需要查询 N个部分重叠产品的目录。

分类、标签、描述等某些方面需要规范化,我需要跟踪哪些目录包含每个唯一项目(例如,通过 UPC 对每个目录中的产品进行重复数据删除)。

我目前的想法是将各个目录导入到他们自己的表中,然后使用自建算法来识别“相似”项目,执行规范化,然后创建一个包含规范化和去重数据的最终“主”表——(主记录值将从它选择的任何目录或目录组合中复制,并包含指向包含该项目的目录的链接)。

我想知道关于这个主题还有哪些其他想法?我应该研究哪些研究领域来更好地教育自己?

4

3 回答 3

1

这里有一些本地公司每晚/每周从 NoSql 生成 Sql 模式以用于报告目的。

据我了解,他们使用的方法正是您所描述的。我相信您的数据集非常大,您不应该对该策略有任何问题。

于 2012-09-15T04:12:23.403 回答
1

您没有提供很多细节,但据我了解,如果您使用 HBase,您可以执行以下操作:

  1. 将所有数据以原始格式或接近原始格式写入 hbase
  2. 写一个 map/reduce 来解决问题:

    2.1。在映射阶段规范化并发出潜在的键

    2.2. 在他减少阶段(你得到所有具有相同键的记录)产生主记录

  3. 将主记录导出到您想要的位置
于 2012-09-16T14:50:51.183 回答
1

自 1940 年代以来(不,老实说),在名称记录链接下,这一直是一个巨大的研究领域(但不幸的是,它也以许多其他名称而闻名,如“身份解析”、“数据匹配”、“合并/清除”等ETC)。这里有很多东西要学,人们已经开发了很多你可以使用的技术和工具。我强烈建议您在尝试自己编写内容之前先熟悉这些内容。

请注意,一个关键问题将是性能。您基本上必须比较所有记录对(即 O(n^2)),并且理想情况下应该使用模糊字符串比较器(它们都很慢)。仅此一项就是使用已经解决了性能问题的工具的一个很好的理由,并且还可以提供字符串比较器等。

Wikipedia 链接包含对研究和工具的引用。我强烈建议看看它。

无论如何,如果您想了解更多信息,关于该主题的第一本书(我所知道的)已于今年早些时候出版:数据匹配,作者 Peter Christen。两篇很好的概述论文是重复记录检测:调查(Elmagarmid、Ipeirotis 和 Verykios)和记录链接和当前研究方向概述(William Winkler)。我会发布链接,但反垃圾邮件不会让我。今年早些时候,我对此做了一个演示,简要概述了问题、研究和解决方案(它在幻灯片共享上,标题为“在没有通用标识符的情况下链接数据”)。

于 2012-09-26T09:43:10.173 回答