2013-03-31 189 views
2

我想知道搜索索引與數據庫索引之間的區別。我知道數據庫索引使用的實際數據和搜索索引的排序指針(例如,使用倒排索引)使用類似哈希表的結構來將單詞與包含該單詞的文檔進行映射。索引在兩種情況下意味着不同的事情。我的問題是 - 這兩種情況真的不同嗎?數據庫索引和搜索索引是否有不同的概念?我想我只是在這裏被「索引」這個詞所困惑。任何澄清這一點表示讚賞。搜索索引與數據庫索引

+0

偏離主題;屬於[dba.se] –

回答

2

數據庫索引由來自目標應用程序的查詢驅動。通常,在設計數據庫並確定要索引的屬性時,您有明確的要求。例如,如果屬性A在數據庫中被索引,則它用於加速屬性A上的一些已知的潛在查詢Q(或一組查詢)。

Web搜索(或關鍵字搜索)另一方面,更多是自由的形式。當搜索引擎索引一個文檔(網頁)時,它沒有關於該查詢的預先知識。因此,它需要嘗試理解文檔(通過自然語言處理)並對可能感興趣的關鍵字和短語進行索引。

雖然搜索索引和數據庫索引共享許多常用技術,但要求不同。 I/O效率和一致性是DB索引的首要關注點。而搜索索引有利於可伸縮性和空間效率(時間效率是通過分佈和並行性實現的)。另外,搜索索引不需要回憶所有匹配的文檔;在大多數情況下,檢索幾百個排名最高的條目就足夠了。