如何对网页的整个内容进行哈希处理?

时间:2011-04-30 10:08:24

标签: algorithm data-structures hash indexing search-engine

我有时会在信息检索,搜索引擎,抓取工具等环境中听到esp,我们可以通过散列页面内容来检测重复页面。什么样的散列函数能够散列整个网页(至少2个寻呼机),这样2个副本具有相同的散列输出值?典型哈希输出值的大小是多少?

这样的哈希函数是否能够在同一个存储桶中放置两个类似的小写字母等页面?

谢谢,

2 个答案:

答案 0 :(得分:8)

任何哈希函数,给定两个输入 x y s.t. x = y ,根据定义,它们将返回相同的值。但是如果你想要正确地进行这种重复检测,你需要:

  • 加密强哈希函数,例如MD5,SHA-1或SHA-512,它实际上从不将两个不同的页面映射到相同的值,因此您可以假设相等的哈希值意味着相等的输入,或
  • 如果您想检测近似重复项,请
  • a locality sensitive hash function

使用哪一个真正取决于您的需求;加密哈希在近似重复检测中是无用的,因为它们旨在将近似重复映射到非常不同的值。

答案 1 :(得分:1)

我认为你正在寻找模糊散列,其中只有部分文档被散列而不是整个文档。