问题标签 [deduplication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2225 浏览

python - 对大量文件进行重复检查的最佳方法或算法?

我正在使用 python 来复制大量文件(超过 20000 个)文件。总计约 300 MB

当前的方法是使用 difflib 的 SequenceMatcher 进行近乎重复检查并使用 QuickRatio 获取结果。

使用 4 个工作进程需要 25 小时才能完成工作,这非常慢。

我还尝试了 Livenstheine,它提供了 C 基础的近乎重复检查,但它比 difflib 更慢且更不准确。

检查需要以这种方式进行:一个文件夹中有20000个文件。每个文件都需要在每次迭代时与文件夹中的 20000 个文件进行比较。所以会有 20000 * 20000 次迭代。

我想到的是索引所有文件并比较索引,但我是索引新手,我不确定它是否会起作用。如果那样的话,最好的索引选项是什么?

谢谢。

下面是代码:

0 投票
3 回答
698 浏览

duplicate-data - 检测重复客户

我有一堆客户数据被规范化为多个表。我想确定最好的标准来做出最好的猜测,即客户可能是相同的。需要在最小化重复数量和最小化误报之间取得平衡,从而打断用户询问潜在的欺骗行为。

我正在查看名字/姓氏+电话号码的某种组合|| 电子邮件地址。

第一个问题是,确定一个客户是否可能与另一个客户相同的一套好的标准是什么。

第二个问题是,对于这个特定的应用程序,我只想检测在过去 2 个月左右注册的客户的重复项。这会改变检测标准吗?

0 投票
4 回答
555 浏览

c# - 用于高速和内存高效检测字符串重复的数据结构选择

我有一个有趣的问题,可以通过多种方式解决:

  • 我有一个接收字符串的函数。
  • 如果此函数以前从未见过此字符串,则需要执行一些处理。
  • 如果函数之前已经看到过字符串,则需要跳过处理。
  • 在指定的时间后,该函数应该接受重复的字符串。
  • 这个函数可能每秒调用数千次,字符串数据可能非常大。

这是对实际应用的高度抽象的解释,只是为了问题的目的而试图深入到核心概念。

该函数将需要存储状态以检测重复项。它还需要存储关联的时间戳以使重复项过期。

它不需要存储字符串,字符串的唯一哈希就可以了,前提是没有由于冲突导致的误报(使用完美的哈希?),并且哈希函数足够高效。

天真的实现很简单(在 C# 中):

尽管为了降低内存占用和潜在地提高性能,我正在评估一个自定义数据结构来处理这个问题,而不是一个基本的哈希表。

那么,鉴于这些限制,您会使用什么?

编辑,可能会改变提议的实施的一些附加信息:

  • 99% 的字符串不会重复。
  • 几乎所有的副本都将背靠背或几乎按顺序到达。
  • 在现实世界中,该函数将从多个工作线程中调用,因此需要同步状态管理。
0 投票
2 回答
195 浏览

sql - SQL:如何选择具有最多已知值的行?

我有用户表(用户名,性别,date_of_birth,zip),其中用户的 id 是永久的,但用户可以在过去多次注册,有时他填写所有数据,有时不填写。除此之外,他可以更改居住地(在这种情况下 zip 可以更改)。

所以查询

返回以下结果:

在这种情况下,用户 1 已更改住所;邮政编码已更改;“属于”他的第二行不包含人口统计数据。User3 也有多条记录,只有两条记录包含人口统计数据。

我想做的是将用户与包含最多关于他的数据的行绑定,并考虑包含在行中的 zip 与最知名的值。有谁知道如何编写适当的查询?

谢谢!

0 投票
3 回答
2944 浏览

parsing - 如何删除 mbox 格式的电子邮件邮箱的重复项(去重)?

我有一个 mbox 邮箱,其中包含重复的邮件副本,它们的不同之处仅在于它们的“X-Evolution:”标题。

我想以尽可能快速和简单的方式删除重复的。好像这已经写好了,但我还没有找到它,虽然我看过 Python 邮箱模块、各种 perl mbox 解析器、formail 等等。

有没有人有什么建议?

0 投票
2 回答
518 浏览

vb.net - VB.Net - 重复数据删除的有效方法

我正在处理一个针对 SQL 2000 数据库用 VB.Net 2.0 编写的遗留应用程序。

有一个表有约 125,000 行和 2 对具有相似数据的字段。

即 FieldA1、FieldB1、FieldA2、FieldB2

我需要处理一个组合的、不同的 FieldA、FieldB 列表。

使用 SQL 我已经确认有 ~140,000 不同的行。

由于应用程序中的框架非常严格,我只能将数据检索为 2 个 XML 对象、2 个 DataTable 对象或 2 个 DataTableReader 对象。我无法使用该框架执行自定义 SQL。

由于非常严格的数据库访问策略,我无法添加视图或存储过程来检索为单个列表。

将 2 个 XML / DataTable / DataTableReader 对象组合成单个不同的 IEnumerable 对象以供以后处理的最有效方法是什么?

0 投票
3 回答
7176 浏览

hash - 用于数据完整性和重复数据删除的最佳散列算法有哪些?

我正在尝试对其中包含二进制数据的大量文件进行哈希处理,以便:(1)将来检查是否损坏,以及(2)消除重复文件(可能具有完全不同的名称和其他元数据)。

我知道 md5 和 sha1 及其亲戚,但我的理解是这些是为安全而设计的,因此故意放慢速度以降低暴力攻击的功效。相反,我希望算法尽可能快地运行,同时尽可能地减少冲突。

有什么建议么?

0 投票
2 回答
1122 浏览

database - 将 CSV 导入数据库(重复条目)

我的工作要求我在一个很长的电子表格上查找信息,该电子表格每周更新一次或两次发送给我。有时最新的电子表格会遗漏上一个电子表格中的信息,导致我必须查看几个不同的电子表格才能找到我需要的信息。我最近发现我可以将电子表格转换为 CSV 文件,然后将其上传到数据库表中。只需几行脚本,我所要做的就是输入我要查找的内容,瞧!现在我刚刚得到了最新的电子表格,我想知道是否可以将其导入旧电子表格。我在数据库中设置为主要的每一行都有一个唯一的编号。如果我尝试在当前信息之上导入它,它会跳过主要复制的行还是只会弄乱我的数据库?

在我尝试之前我想我会问专家。感谢您的输入!

详细信息:电子表格由我们的客户组成。每行包含客户的姓名、唯一的身份证号码、他们的地址和联系信息。我可以将包含唯一 ID 的行设置为主行,然后上传。我担心的是,在 csv 文件中没有任何内容可以表示新行(我认为)。当我上传它时,它给了我跳过重复项的选项,但它会跳过整行还是跳过那个单元格,导致我的数据被放置在错误的行中。它是 apache 服务器 IDK 什么版本的 mysql。我为此使用 000webhost。

0 投票
1 回答
1416 浏览

solr - 使用 SOLR 重复数据删除保留一个重复文章条目

我在 solrconfig.xml 中使用了具有以下设置的 Solr 重复数据删除

并在 schema.xml

我的目标是找到具有重复描述的文档(使用 TextProfileSignature 表示几乎重复)保留一个条目并删除其他重复条目。

例如 doc1 描述:Websol – 候选人应具有良好的沟通能力和计算机技能必须愿意搬迁 我们在国际呼叫中心的后台办公室有很好的职位空缺

doc2 描述:Websol – 候选人应具有良好的沟通能力和计算机技能必须愿意搬迁我们在国际呼叫中心的后台办公室有很好的职位空缺...

从这两个文档中只有一个要删除,而不是两个,但是使用 solr dedupe 两个条目都会被删除。

让我知道我是否在设置中缺少任何东西,或者我需要遵循其他方式来实现这一点。

0 投票
2 回答
1983 浏览

java - 创建基于 solr 的重复数据删除系统的最佳实践是什么?

我正在建立一个基于 solr 搜索的重复数据删除系统,该系统将返回匹配搜索条件的搜索结果。我使用数据导入处理程序从数据库中提取数据并在 Solr 服务器上创建索引文档。

我的 solr 架构如下:

如上所示,我已将名字 (fname) 和姓氏 (lname) 字段的类型指定为使用 DoubleMetaphoneFilterFactory 进行拼音搜索的拼音。音域类型说明如下:

我希望我的搜索返回与所有指定查询字段匹配的文档,而不仅仅是任何一个搜索字段。

我的问题是,如果我单独搜索 fname、lname 或地址,则结果非常相关,但是当我将过滤查询与主要搜索查询一起使用时,结果包含来自两个搜索条件的结果的联合。

请有人指出我做错了什么。此外,是否有任何最佳实践需要牢记,以便为可以识别重复客户记录的银行的这种重复数据删除系统设计 solr 架构。

提前致谢!!