美文网首页
倒排索引

倒排索引

作者: RobertCrazying | 来源:发表于2018-10-21 11:05 被阅读11次

什么是倒排索引

先来说说什么事正排索引,举个简单的例子,常规的数据库存储就是正排索引。
以下面的作为例子:

网页 A 中的内容片段:

Tom is a boy.

Tom is a student too.



网页 B 中的内容片段:

Jon works at school.

Tom's teacher is Jon.

构建索引时,就是在数据库里面存在两个 doc,每个 doc 记录下相应的索引信息。

image.png

这样当我们要搜索 Tom 这个关键字,就要遍历所有的记录查到索引信息,效率很慢。正排索引也有相应的优点,就是构建索引快,对于新的内容只需要增加一条记录就行了,很方便维护。

倒排索引

由于正排的耗时太长缺点,倒排就正好相反,是以 word 作为关键索引。表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的 ID 和字符在该文档中出现的位置情况。

倒排包含两部分:

        1、由不同的索引词(index term)组成的索引表,称为 “词典”(lexicon)。其中包含了各种词汇,以及这些词汇的统计信息(如出现频率 nDocs),这些统计信息可以直接用于各种排名算法。

        2、由每个索引词出现过的文档集合,以及命中位置等信息构成。也称为 “记录表”。就是正排索引产生的那张表。当然这部分可以没有。具体看自己的业务需求了。

下面是一个简单的倒排索引构建,只包含第一部分的。


image

倒排的优缺点和正排的优缺点整好相反。倒排在构建索引的时候较为耗时且维护成本较高,但是搜索耗时短。

相关文章

  • Elasticsearch(一):概念与基本API

    安装 Elasticsearch 常用 API index Document 倒排索引与分词 倒排索引 倒排索引与...

  • ElasticSearch(基础)

    1.1 倒排索引 倒排索引原理?? ElasticSearch使用一种称为 ==倒排索引== 的结构,它适用于快...

  • ElasticSearch 倒排索引简析

    内容概要 倒排索引是什么?为什么需要倒排索引? 倒排索引是怎么工作的? 1. 倒排索引是什么? 假设有一个交友网站...

  • 搜索引擎索引-倒排索引

    倒排索引基础 倒排索引示范 Elasticsearch中使用一种称为倒排索引的结构,适用于快速的全文搜索。一个倒排...

  • ElasticSearch知识库

    一、原理篇 Elasticsearch 的倒排索引是什么? 倒排索引=term字典+docId倒排表,term字典...

  • Elasticsearch学习笔记(06) - 倒排索引简介

    Elasticsearch的核心是基于倒排索引。因此,我们有必要了解一下倒排索引算法。 简单的例子 既然有倒排索引...

  • IMI 倒排多索引

    倒排多索引 倒排多索引体现在倒排索引的的时候,使用PQ M=2来代替倒排的K-means,把整个数据集划分为两个子...

  • Elasticsearch之映射与分析

    倒排索引 Elasticsearch 使用一种称为 倒排索引 的结构,它适用于快速的全文搜索。一个倒排索引由文档中...

  • 搜索引擎之倒排索引浅析

    上一篇文章 ElasticSearch 术语中提到了倒排索引,那么这篇文章就来讲解下什么是倒排索引,倒排索引的数据...

  • ElasticSearch第5节 倒排索引、分词器

    一、倒排索引 Elasticsearch使用一种称为倒排索引的结构,它适用于快速的全文捜索.一个倒排索引由文档中所...

网友评论

      本文标题:倒排索引

      本文链接:https://www.haomeiwen.com/subject/ystbzftx.html