倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。
有两种不同的反向索引形式:
- 一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表。
- 一个单词的水平反向索引(或者完全反向索引)又包含每个单词在一个文档中的位置。[1]
后者的形式提供了更多的兼容性(比如短语搜索),但是需要更多的时间和空间来创建。
例子
以英文为例,下面是要被索引的文本:
-
T0 =
"it is what it is"
-
T1 =
"what is it"
-
T2 =
"it is a banana"
我们就能得到下面的反向文件索引:
"a": {2}
"banana": {2}
"is": {0, 1, 2}
"it": {0, 1, 2}
"what": {0, 1}
检索的条件"what"
, "is"
和 "it"
将对应这个集合:。
对相同的文字,我们得到后面这些完全反向索引,有文档数量和当前查询的单词结果组成的的成对数据。 同样,文档数量和当前查询的单词结果都从零开始。所以,"banana": {(2, 3)}
就是说 "banana"在第三个文档里 (T2),而且在第三个文档的位置是第四个单词(地址为 3)。
"a": {(2, 2)}
"banana": {(2, 3)}
"is": {(0, 1), (0, 4), (1, 1), (2, 1)}
"it": {(0, 0), (0, 3), (1, 2), (2, 0)}
"what": {(0, 2), (1, 0)}
如果我们执行短语搜索"what is it"
我们得到这个短语的全部单词各自的结果所在文档为文档0和文档1。但是这个短语检索的连续的条件仅仅在文档1得到。
相关推荐
大数据实验报告Hadoop编程实现InvertedIndex文档倒排索引程序附源码.doc
倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。 ...
这个资源是我自己在ACM花钱买的额……,倒排文档的经典文章,看了它你就会知道怎么写倒排文档了
倒排索引源于实际应用中需要根据属性的值...由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。
倒排索引(Inverted Index)被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射,是目前几乎所有支持全文索引的搜索引擎都需要依赖的一个数据结构。资源中包含了MapReduce实现的文档倒排索引...
倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。这篇文章主要介绍了Python倒排索引之查找...
#MapReduce 倒排索引 这是获取倒排索引的示例 MapReduce 代码 输入文件格式 推文ID,主题标签 将输入文件复制到 HDFS hadoop fs -copyFromLocal $HOME/sampleInput.txt /sampleInput.txt 执行 MapReduce 作业 ...
Hadoop mapreduce 实现InvertedIndexer倒排索引,能用。
#倒排索引示例 用 JAVA 编写的 MapReduce 作业以生成倒排索引。 ##创建罐子 mvn clean package ##用法 hadoop -jar jarfile com.globant.training.invertedIndex.InvertedIndexDriver <hdfs> <hdfs> ##输出...
invertedIndex.c
Inverted_index 使用map reduce优化搜索引擎的倒排索引构建。
倒排索引该项目是为反向索引实现的,它将从目录中读取所有.txt文件,并按字母顺序列出所有单词,以提供每个文件中每个单词的位置和外观。 输入参数在JSON文件中传递,该文件包含用于从每个文件中提取单词的定界符,...
INVERTED_INDEX 倒排索引结构的实现,用 C++ 编写 版权所有 (C) 2013 Nick Georgiadis
该库提供了一个内存中(可能会更改)的InvertedIndex ,该索引对文档进行索引以使其可搜索。 以下是有关其功能的一些详细信息。 有关更多示例,请参见测试。 索引编制 let mut index = InvertedIndex::new(); index....
倒排索引该存储库包含倒排索引的实现。 索引单词的基本思想是创建一个 Map,其中每个单词作为键,一组短语作为值。 因此,当我们必须构建索引时,我们可以将一个单词映射到一组短语。 我们还可以为该词添加或关联更...
Lucene-Inverted-Index 信息检索倒排索引作业 要求有检索界面 中文语料支持
倒置索引和位置索引倒排索引和位置索引的形成,以处理简单的布尔查询,复杂的布尔查询和邻近查询。
倒排索引 Inverted Indexes
倒排索引 我在这里使用Java实现了反向索引。 它支持来自文件的输入和简单的查询搜索。 用法: 1)将要索引的文档重命名为filex.txt,其中x为No。 文件。 确保从0开始。 2)将文件复制到.java文件所在的目录中。 ...