0

包含超过 300 万行名称(姓名、姓氏、父亲姓名)的表。我希望检查相似性超过 90%。我使用了许多模糊算法以及 utl_match 相似性(jaro_winkler、edit_distance)。这些算法的性能并不好。(超过 20 秒。)我想检查变化的地方,但它的工作时间很长。像:姓氏父亲姓氏,姓氏姓氏姓氏,姓氏姓氏,............我找不到任何性能良好的算法,它适用于事务系统

4

1 回答 1

0

您不需要每次都检查所有 300 万个名称,因为您的数据库中有重复项。您还可以做的是将您的条目以最远的距离预先聚集在这些条目中,然后使用不同的入口点。

因此,在第一步中创建您的入口点:

Miller
Smith
Yang
...

并检查与 > 例如 70% 的入口点,然后深入到您匹配得非常好的集群。这应该会修剪大部分搜索并使您的算法更快。

于 2019-12-16T14:26:17.493 回答