【问题标题】:How to handle the Set Similarity in Database如何处理数据库中的集合相似度
【发布时间】:2014-09-12 23:12:02
【问题描述】:

我有一个有趣的问题。我们从客户那里收到包含产品及其信息的提要文件。我们在数据库中记录从客户收到的每个提要请求。 问题是给定一个Feed文件,我们需要获取给定Feed文件中具有相同产品列表的所有Feed请求。每个Feed请求都有近200万个候选Feed进行匹配?

【问题讨论】:

    标签: database set scalability similarity duplicate-data


    【解决方案1】:

    让我总结一下问题,只是为了确保我们在同一页上。

    应用程序可能会收到一个 Feed 请求,其中包含产品列表。每次发生这种情况时,您将 FR 记录到 db 中,此外您还想检查过去包含相同产品集的所有 FR,对吗?

    如果是这样,一个想法是为 FR 中的产品列表生成哈希键。这样,db 中的每个 FR 都有自己的哈希 - 对应于该 FR 包含的产品列表。

    例如。

    Feed Request 来自应用,其中包含产品 2、1、3。 app对产品标识进行排序:[1, 2, 3],然后生成hash: h([1, 2, 3]) = abc。然后,您只需要查找以前的 FR 同一个产品集,就是生成一个查询:“get all records from feed requests, where 哈希等于 "abc" "。

    如果您以正确的方式索引数据,即使有数百万条记录,这种比较也不会很昂贵。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多