2012-02-25 97 views
3

我認爲這個問題可能有點過於開放,但我很想知道當網絡搜索引擎索引網頁時哈希是如何工作的。爲此目的而使用的一些常用哈希碼是什麼?什麼哈希函數用於網絡搜索引擎索引

+0

我對這件事情沒有什麼專業知識,但我想知道爲什麼你甚至需要一個散列函數,爲什麼不自己使用單詞(或短語)呢?對我來說,看起來哈希是一個額外的層,它不起作用。 – Ali 2012-02-25 17:53:01

+0

我想了解的是網絡搜索引擎如何爲他們的頁面編制索引。由於他們使用散列表來存儲所有頁面,因此應該包含一些散列函數。是否有意義? – TommyG 2012-02-25 17:57:30

+1

TommyG +1的好問題。每個單詞或字符串可以轉換爲一個整數,因爲這會使比較超快。請記住,即使一個參數在散列之後也會產生一些唯一的int值(暫時忘記碰撞),因此,如果它是一個int而不是字符串匹配,那麼查找/搜索該短語/詞將會很快O(1)。 – Yavar 2012-02-25 18:05:39

回答

2

對於Sphinx搜索引擎,這是一個非常受歡迎的開源產品,與Lucene相媲美,所使用的散列函數是CRC。它使用CRC將在索引中找到的douments中的每個單詞轉換爲32位/ 64位int。

+0

斯芬克斯的岩石。很高興看到它得到一些愛! – Fuser97381 2015-09-07 00:38:27