【问题标题】:Forward Index vs Inverted index Why?正向指数与反向指数为什么?
【发布时间】:2015-10-24 00:30:20
【问题描述】:

我正在阅读倒排索引(由 Solr、Elastic Search 等文本搜索引擎使用),据我所知(如果我们以“Person”为例):

属性与Person关系倒置:

John -> PersonId(1), PersonId(2), PersonId(3)
London -> PersonId(1), PersonId(2), PersonId(5)

我现在可以在人员记录中搜索“住在伦敦的约翰”

这不是解决了所有问题吗?为什么我们有正向(或常规数据库索引)?或者换句话说,常规索引在什么情况下有用?请解释。谢谢。

【问题讨论】:

    标签: solr elasticsearch lucene inverted-index forward-indexing


    【解决方案1】:

    下面是对倒排索引的解释,来自 Elasticsearch:

    Elasticsearch 使用一种称为倒排索引的结构,旨在实现非常快速的全文搜索。倒排索引由出现在任何文档中的所有唯一单词的列表组成,并且对于每个单词,都有一个它出现在其中的文档的列表。 https://www.elastic.co/guide/en/elasticsearch/guide/current/inverted-index.html

    倒排索引用于快速全文搜索。常规索引效率较低,因为引擎会在所有条目中查找一个术语,但索引速度非常快!

    你可以这样说:

    • 前向索引:索引速度快,查询效率低
    • 倒排索引:查询快,索引慢

    但是,它总是与上下文相关。如果与 MySQL 比较:myisam 读取速度快,innodb 插入/更新速度快,读取速度慢。

    在此处阅读更多信息:https://www.found.no/foundation/indexing-for-beginners-part3/

    【讨论】:

      【解决方案2】:

      您缺少的一点是,正向索引和倒排索引之间没有真正的技术区别。在这种情况下,“正向”和“反向”只是用于区分的描述性术语:

      • 文档中包含的单词列表。
      • 包含一个单词的文档列表。

      只有当常规(正向)索引的概念已经存在时,倒排索引的概念才有意义。在搜索引擎的上下文中,前向索引将是术语向量;包含在特定文档中的术语列表。倒排索引将是包含给定术语的文档列表。

      当您了解术语“正向”和“反向”实际上只是用于描述您正在谈论的索引的性质的相对术语 - 并且实际上索引只是一个索引 - 你的问题并不真的再有意义了。

      【讨论】:

      • 谢谢。我知道这是一种与现有产品区分开来的方法。但是我仍然没有发现正向和反向索引之间有任何区别(就它的工作方式而言)。对我来说,看起来都像是一个将字段映射到一堆文档 ID 的索引。这就是我理解 oracle btree(也称为前向索引)如何组织数据的方式。我看不出倒排索引的原理有什么不同。这让我回到第一方。 :-)
      • 这是我的观点 - 没有功能差异。倒排索引只是一个索引……但倒过来了。正向索引将存储{ Document1: ["Hello", "this", "is", "a", "document"] },反向索引将存储(例如){ "Hello": [Document1], "this": [Document1, Document40] } ... 一个可以让您查找文档并查找内容,另一个可以让您查找单词并获取文档列表.
      • 映射文档 -> w1, w2, w3 在搜索方面对我来说似乎是一个低效的提议。想知道为什么这首先存在?它们的实际用途是什么?
      • @Roylee 没有任何迹象表明倒排索引是通过使用前向索引生成的。同样,该术语并不意味着您已经反转了索引,它只是键/值对的“方向”的描述性术语。您无法将其合理化为一个定义明确的技术术语,因为它不是一个。
      • 还值得注意的是,该术语通常专门应用于全文搜索的上下文中,其中文档的所有内容都以某种方式被分解并被视为索引中的一组键.
      猜你喜欢
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 2012-08-13
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 2010-09-18
      相关资源
      最近更新 更多