什么哈希函数用于网络搜索引擎索引?

3

我猜测这个问题可能有些开放式,但我很想知道当网络搜索引擎索引网页时,哈希是如何工作的。有哪些常见的哈希码被用于此目的?


我在这方面没有专业知识,但我想知道为什么你需要哈希函数,为什么不直接使用单词(或短语)本身?对我来说,哈希似乎是一个多余的层,没有任何作用。 - Ali
我想了解的是网页搜索引擎如何索引它们的页面。由于它们使用哈希表来存储所有页面,所以应该涉及某些哈希函数。这有意义吗? - TommyG
1
一个好问题TommyG +1。每个单词或字符串都可以转换为整数,这将使比较超级快速。请记住,即使是短语,在哈希后也会产生一些唯一的整数值(暂时忘记碰撞),因此如果它是整数而不是字符串匹配,则查找/搜索该短语/单词将很快O(1)。 - Yavar
我认为murmurhash3是一个很好的选择,因为它拥有高速和较好的碰撞特性。http://code.google.com/p/smhasher/wiki/MurmurHash3 - eSniff
1个回答

3

针对Sphinx搜索引擎,它是一个非常流行的开源产品,与Lucene相媲美,使用的哈希函数是CRC。它将索引文档中找到的每个单词转换为32位/64位整数,使用的是CRC。


Sphinx 真是太棒了。很高兴看到它得到了一些关注! - Darth Egregious

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接