Lucene倒排索引简述 之索引表

一、前言

倒排索引是全文检索的根基,理解了倒排索引之后才能算是入门了全文检索领域。倒排索引的的概念很简单,也很好理解。但如你知道在全文检索领域Lucene可谓是独领风骚。所以你真的了解Lucene的倒排了吗?Lucene是如何实现这个结构的呢?

倒排索引如此重要,深入理解索引结构显然是非常有益的,对于理解Lucene的索引和搜索流程都非常关键,进而可以参与自定义搜索统计的计算函数扩展开发。

本文我们将对Lucene的倒排索引的实现原理和技术细节展开具体的研读和剖析。

二、理论

在学术上,倒排索引结构非常简明,非常好理解。如下

IR Inverted Indexing

也许你已经很了解倒排索引了,下面这张图你也已经看过很多次了。本文将从你熟悉的部分开始,一步步深入去扣这张图的一个个细节。这里有二部分内容对应分别称之为:

  1. 索引,索引词表。倒排索引并不需要扫描整个文档集,而是对文档进行预处理,识别出文档集中每个词。
  2. 倒排表,倒排表中的每一个条目也可以包含词在文档中的位置信息(如词位置、句子、段落),这样的结构有利于实现邻近搜索。词频和权重信息,用于文档的相关性计算。

倒排索引由两部分组成,所有独立的词列表称为索引,词对应的一系列表统称为倒排表。
—— 来自《信息检索》

Inverted Indexing Oversee

如图,整个倒排索引分两部分,左边是Term Dictionary,我们就叫Dictionary吧;右边是Postings List。

  1. 索引表,叫Terms Dictionary,是由于一系列的Term组成的。
  2. 倒排表,称Postings List,即是由所有的Term对应的Postings组成的。

实际上Lucene所用的信息信息检索方面的术语基本跟Information Retrieval(《信息检索》原版)保持一致。比如Term、Dictionary、Postings等。

首先,有必须解释一下,每个Segment中的每个字段(Field)都有这么一个结构,且相互独立。其次&#x

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值