据我理解,哈希/倒排索引将值/单词映射到记录/文档。然而,哈希索引的插入复杂度较低(在溢出时添加新的存储桶),但倒排索引的插入复杂度较高(因为需要维护文档ID的排序列表)。这是否意味着它们本质上是相同的,只是实现方式不同?
倒排索引只是一个概念(与正向索引相反)。它涉及到将单词或文档作为键值对中的键。
哈希表只是索引的一种实现方式,可以替代树等其他实现方式。
因此,您可以使用哈希表实现倒排索引。您也可以使用树来实现倒排索引。
哈希索引的插入复杂度较低(在溢出时仅添加新的桶),但倒排索引的复杂度较高(由于需要维护文档ID的排序列表)
对于倒排索引,维护排序列表是可选的。仅当搜索引擎支持高级功能(例如搜索多个连续单词)时才需要。
甜苹果很甜。它生长在苹果树上。我喜欢吃甜苹果。
Sweet: 1, 4, 13
Apple: 2, 9, 14
Query: "Sweet Apple"
Returns (1,2), (13,14)