gui*_*ism 89 indexing terminology
在软件工程中,我们一直在创建索引(例如,在数据库中),但我也听到很多人谈论倒排索引.这两者之间有什么根本不同的东西吗?他们听起来像是一回事.
jef*_*unt 201
一个常见的用途是"......允许快速全文搜索".
这两种类型表示方向性.一个带你前进索引,另一个带你通过索引向后(反向).而已.在这里发现并不神秘.否则这两种类型是相同的,它只是一个问题,你有什么信息,因此你想要找到什么信息.
为了解决您的问题,我认为实际上没有办法知道为什么使用它是今天的.重要的是要确定这是唯一的原因,forward和哪一个inverted是让大家都可以有关于他们的谈话,每个人都知道我们在谈论哪个方向.想想"左"和"右"这两个词:它们是相对的.哪个是无关紧要的,除了每个人都需要同意哪一个是"左",哪一个是"正确"以使这些词具有意义.如果作为一种文化,我们决定左右翻转,那么你就会有同样的问题来弄清楚"右转"和"左转"是什么,因为商定的意义已经改变了.然而,命名是任意的,所以哪一个(其本身)无关紧要 - 重要的是我们都同意其含义.
在你的评论中,你要问的是"请不要只定义条款",你忽略了这一点,我认为当他们之间完全没有区别时,你只是挂断了措辞.
为了未来读者的利益,我现在将提供几个"前向"和"倒置"索引示例:
如果你认为索引的逆是类似于数学中函数的逆,其中逆是一种具有不同形式的特殊事物,那么你就错了:这不是这里的情况.
在搜索引擎中,您有一个文档列表(网站上的页面),您可以在其中输入一些关键字并获取结果.
一个正向索引(或只是指数)的文件清单,以及这些词出现在其中.在网络搜索示例中,Google抓取网络,构建文档列表,找出每个页面中显示的单词.
该倒排索引是单词的列表,并将单据它们出现.在网络搜索示例中,您提供了单词列表(您的搜索查询),Google会生成文档(搜索结果链接).
它们都是索引 - 这只是你要去哪个方向的问题.转发是从文档 - >到 - >单词,倒置是从单词 - >到 - >文档.
另一个例子是DNS查找(它采用主机名,并返回IP地址)和反向查找(采用IP地址,并为您提供主机名).
书的背面的索引实际上是一个倒排索引,如上面的例子所定义 - 单词列表,以及在书中找到它们的位置.在一本书中,目录就像一个正向索引:它是本书所包含的文档(章节)列表,除了不在这些部分中列出单词之外,目录只是给出了什么是名称/一般描述.包含在这些文件(章节)中.
手机中的转发索引是您的联系人列表,以及与这些联系人关联的电话号码(小区,家庭,工作).该倒排索引是什么让您手动输入电话号码,当你点击"拨号"你看这个人的名字,而不是数量,因为你的手机已经采取了电话号码,发现你与它相关的接触.
xer*_*nic 22
他们之所以将其称为倒置,只是因为已有一个前向指数.以搜索引擎为例,它由两部分组成:第一部分是"网络爬虫和解析器",它从一个文件到另一个文件构建索引,第二部分是搜索数据库,它从一个文件到另一个文件构建一个索引.由于存在第一个索引,我们自然将第二个索引称为反向索引.
如果您将书籍的TOC(目录)命名为索引,那么您应该将书籍末尾的索引称为"倒排索引".或者,在另一方面,您可以将TOC称为倒排索引.
小智 8
术语“倒排词索引”指的是包含多个单词的单个文档与包含(或标识)多个文档的列表的每个唯一单词的关系的变化。这实际上是采用一对多关系(文档到单词)并将其反转(或反转),以便现在存在一个新的“反转”一对多关系,这是与许多相关的每个唯一单词 -文档(即所有包含该词的文档)。它的起源确实就是这么简单,早在计算机和电子高速索引存在之前,术语“倒排索引”就被用来描述相同类型的手动索引(是的,不可否认,我是一个老了的老程序员,几乎当 COBOL 还是一门闪亮的新语言时,她已经足够大了,可以将 Grace Hopper 视为“可爱的年轻女士”,适合重新追求的年龄)。请暂时不要抛弃我们这些怪人,因为我们偶尔可能会提供一两个有用的、甚至可能有价值的历史花絮——也就是说,当我们的个人 RAM 仍在工作时。[咧嘴笑]
通常在谈论索引时,你的意思是为了加速应用程序而做的一些额外的计算或程序存储结果(例如MySQL或其他RDBMS 咨询MySQL文档).索引也可以与缓存等相关.
反向索引创建的文件结构主要用于(全文)搜索.
倒排索引包含两个主要文件:
在词汇表中是从文本中提取的常用词(当然,在过滤黑名单词之后,如代词).occurences文件保存单词和文档之间的连接(word1出现在doc1和doc2中,而不是doc3中).它以矩阵的形式表示.

在上面的图像中显示了创建所提到的两个文件的过程.
如果你对这个问题更进一步了解,我可以推荐一本由Ricardo Yated写的好书 - 现代信息检索(在亚马逊上看到它) - 关于我认为的第200页.
希望能帮助到你 :-)
normalocity已经奇妙地区分了正向和反向索引,但是对于为什么一个被称为前向索引而另一个被称为反向索引的问题,也许这就是为什么他们这样被称为---
以搜索引擎抓取和索引(或构建书籍索引)为例,可以在爬行网页(或阅读书籍)或继续进行时同时构建转发索引.因此,如果您有10个要抓取的网页(或书中的10个章节),您可以抓取第一个网页(阅读第一章),然后制作出现在网页中的单词列表(出现在本章中的单词)并继续对于其他网页(其他章节)的这个过程,所以当你抓取所有10个网页(阅读全部10个章节)时,你的前向索引已经完成,每个网页(章节)指向它包含的单词列表.
但是要制作倒排索引,您必须抓取所有10个网页(阅读10章),然后从每个文档列表中取出每个单词并找出包含该单词的文档.所以这就像你爬网页后退一样(阅读本书的章节).所以它被称为倒排索引.
这只是我的猜测.
索引有很多种类.例如,B树,R树,哈希......出于不同的目的,我们必须选择正确的索引.
倒置索引是一个特殊的索引.反向索引通常用于全文搜索引擎.使用倒排索引我们可以尽快找到文档(或文档集)中的单词.想想内存和cpu的限制,其他索引无法完成这项工作.
您可以阅读lucene文档以获取更多详细信息.它是一个开源搜索引擎. http://lucene.apache.org/java/docs/index.html
| 归档时间: |
|
| 查看次数: |
36454 次 |
| 最近记录: |