倒排索引

标签: 倒排索引 | 发表时间:2014-10-31 11:49 | 作者:
出处:http://www.iteye.com
倒排索引是文档检索系统中最常见的数据结构,被广泛的应用于搜索引擎。它是一种根据内容查找文档的方式。由于不是根据文档来找内容,而是根据进行了相反的操作,因此叫做倒排索引。

倒排索引的一个简单结构如下图所示:

 

单词文档列表

 

 

 

最常见的是使用词频作为权重,即单词在一个文档中出现的次数。如图所示,已知3个文档。



  


则他们的索引文件为


 

因此,当搜索条件为“MapReduce”“is”“simple”的时候,对应的集合为{(0.txt,1),(1.txt,1),(2.txt,2)}且{(0.txt,1),(1.txt,2)}且{(0.txt,1),(1.txt,1)}={0.txt,1.txt}

即关键字出现在0.txt和1.txt中。

以上只是词频作为权重,当然实际应用中权重可能很复杂,这里仅仅以词频为权重进行编码。

结合MapReduce框架的执行流程,倒排索引的处理步骤设计如下:

 

 

InputFormat处理后:



  

 

map()方法处理后:(之所以把文本位置放到K,为了方便Mapper处理)



 

 

Mapper框架进行处理:(之所以把文本位置放到K,为了方便此处处理)



  

 

Combiner进行处理:



 

 

 

为了方便Reducer框架进行处理,Combiner的输出需要改变一下:



  

 

Reducer框架进行处理:



 

 

Reduce()方法进行处理



 
 

以上过程转化为代码,仅仅需要重写map(),combine(),reduce()方法即可。

需要注意的是,对于输入输出的处理,上一环节的输入格式应该和上一环节的输出格式一样。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [倒排索引] 推荐:

倒排索引

- - ITeye博客
倒排索引是文档检索系统中最常见的数据结构,被广泛的应用于搜索引擎. 它是一种根据内容查找文档的方式. 由于不是根据文档来找内容,而是根据进行了相反的操作,因此叫做倒排索引. 倒排索引的一个简单结构如下图所示:. 最常见的是使用词频作为权重,即单词在一个文档中出现的次数. 因此,当搜索条件为“MapReduce”“is”“simple”的时候,对应的集合为{(0.txt,1),(1.txt,1),(2.txt,2)}且{(0.txt,1),(1.txt,2)}且{(0.txt,1),(1.txt,1)}={0.txt,1.txt}.

hadoop倒排索引

- - CSDN博客云计算推荐文章
看到很多的hadoop关于倒排索引的例子,但是我想写一个属于我自己的,加入了本人对于hadoop中mapreduce的理解. CHENGDU - Death toll from a colliery blast on Saturday in southwest China's Sichuan Province rose to 27, local authorities said.

ElasticSearch 倒排索引、分词

- - 行业应用 - ITeye博客
es使用称为倒排索引的结构达到快速全文搜索的目的. 一个倒排索引包含一系列不同的单词,这些单词出现在任何一个文档,. 对于每个单词,对应着所有它出现的文档. 比如说,我们有2个文档,每个文档有一个conteng字段. 我们首先对每个字段进行分词,我们称之为terms或者tokens,创建了一些列有序列表,.

MapReduce 编程之 倒排索引

- - CSDN博客云计算推荐文章
本文调试环境: ubuntu 10.04 , hadoop-1.0.2. hadoop装的是伪分布模式,就是只有一个节点,集namenode, datanode, jobtracker, tasktracker...于一体. 本文实现了简单的倒排索引,单词,文档路径,词频,重要的解释都会在代码注视中.

MapReduce案例之倒排索引

- - 行业应用 - ITeye博客
1       倒排索引. "倒排索引"是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎. 它主要是用来存储某个单词(或词组)在一个文档或一组文档中的存储位置的映射,即提供了一种根据内容来查找文档的方式. 由于不是根据文档来确定文档所包含的内容,而是进行相反的操作,因而称为倒排索引(Inverted Index).

基于hadoop的mapreduce实现倒排索引

- - ITeye博客
基于 hadoop 的 mapreduce 实现倒排索引. 倒排索引(英语: Inverted index ),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射. 它是文档检索系统中最常用的数据结构.

搜索引擎-倒排索引基础知识

- - CSDN博客推荐文章
       单词-文档矩阵是表达两者之间所具有的一种包含关系的概念模型,图3-1展示了其含义. 图3-1的每列代表一个文档,每行代表一个单词,打对勾的位置代表包含关系.                                                                  图3-1 单词-文档矩阵.

[原]程序员编程艺术第二十三~四章:杨氏矩阵查找,倒排索引提取关键词

- - 结构之法 算法之道
  第二十三、四章:杨氏矩阵查找,倒排索引提取关键词.      本文先来回答一个何谓编程,何谓算法的问题(同时,本文会少许论述编程与算法的关系). 所谓编程,就是把心中的想法用程序实现;所谓算法,就是思考如何把心中的想法更好地实现. 只有先把心中的想法实现了以后,才会去考虑如何更好地实现,才会去考虑效率,改进,优化.