倒排索引的英文原名是Inverted index,大概因为Invert有颠倒的意思,所以就被翻译成了倒排,然后我们就会在字面上出现误解:理解为从A-Z颠倒成Z-A。其实它并不是字面上的意思。

倒排索引源于实际应用中需要根据属性的值来查找记录,也就是说,不是由记录来确定属性值,而是由属性值来确定记录,因而称为倒排索引

建立全文索引中有两项非常重要,一个是如何对文本进行分词,一是建立索引的数据结构。分词的方法基本上是二元分词法、最大匹配法和统计方法。索引的数据结构基本上采用倒排索引的结构,lucene就是基于倒排索引来实现的。其索引表中的每一项都包括一个属性值和具有该属性值的各记录id或地址。

带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)

倒排索引一般表示为一个三元组:关键词、词频(出现的次数)、id或位置(出现在哪篇文章或网页中,及有关的日期,作者等信息)。它相当于为所有文档或者互联网上几千亿页网页做了一个索引。可以理解为打标签,所以我们只需根据标签就能快速匹配到对应文档或网页。

一个未经处理的数据库中,一般是以文档ID作为索引,以文档内容作为记录。

而Inverted index 是将单词作为索引,将文档ID作为记录,这样便可以方便地通过单词或记录查找到其所在的文档。

步骤1)读取一整条句子到变量str中

步骤2)从句子的尾端读取1个字到变量word(单词)中

步骤3)在字典查找word中保存的单词。如果不存在则保存word并转到步骤4,否则转到步骤5

步骤4)如果是字典中最大单词或者超过最大单词数(认定为新词),从句尾去掉该单词,返回步骤2

步骤5)继续读取前一个字到word中,转到步骤3

内存中单词采用层次结构保存。假设字典中有如下的单词:中国 中华民国 国家 人民 民主

在内存中按照如下方式按层排列,其中每一个方块代表一个字,箭头所指向为该单词的前一个字

举例说明:假如现有三份数据文档,文档的内容如下分别是:

doc1:Java is the best programming language.

doc2:PHP is the best programming language.

doc3:Javascript is the best programming language.

创建一个包含所有不重复词条的排序列表,然后列出每个词条出现在哪个文档

再将上面的内容转换为图的形式来说明倒排索引的结构信息:

Lucene倒排索引原理见: https://blog.csdn.net/Trisyp/article/details/108099087

倒排索引原理,即为什么叫倒排索引相关推荐

  1. python倒排索引实现_倒排索引原理和实现 - uncle_LLD的个人空间 - OSCHINA - 中文开源技术交流社区...

    关于倒排索引 搜索引擎通常检索的场景是:给定几个关键词,找出包含关键词的文档.怎么快速找到包含某个关键词的文档就成为搜索的关键.这里我们借助单词--文档矩阵模型,通过这个模型我们可以很方便知道某篇文档 ...

  2. 【Elasticsearch】倒排索引原理

    1.概述 转载:elasticsearch 倒排索引原理 本文写的不错. 网上看到的一篇文章,对Lucene的倒排索引是如何执行的,说的比较易懂,就转过来分享下. Elasticsearch是通过Lu ...

  3. ElasticSearch倒排索引原理 数据的写入与查询过程

    Elasticsearch在生产中充当的角色 业务上,最早启用Elasticsearch(下称ES)是为了解决模糊查询的问题.具体业务场景为大量抓取回来的短视频内容.热门微博.公众号文章.小红书笔记. ...

  4. Lucene中倒排索引原理

    1.简介 倒排索引源于实际应用中需要根据属性的值来查找记录.这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址.由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引 ...

  5. 倒排索引 java_倒排索引原理和实现

    关于倒排索引 搜索引擎通常检索的场景是:给定几个关键词,找出包含关键词的文档. 怎么快速找到包含某个关键词的文档就成为搜索的关键.这里我们借助单词--文档矩阵模型, 通过这个模型我们可以很方便知道某篇 ...

  6. Day123.ElasticSearch:CAP定理、集群搭建、架构原理及分片、倒排索引、面试题

    目录 一.CAP定理 二.ES集群 1.搭建集群: 2.head 插件安装 3.集群测试 4.核心概念 二.架构原理及分片 一. ElasticSearch 分片 二. 分片控制 三. 分片原理 1. ...

  7. java实践7索引之Hash索引、位图索引、倒排索引原理

    文章目录 java实践7索引之Hash索引.位图索引.倒排索引原理 Hash索引 优缺点: 位图索引: 优缺点: 倒排索引: B树+倒排索引 java实践7索引之Hash索引.位图索引.倒排索引原理 ...

  8. ElasticSearch:全文检索及倒排索引原理

    文章目录 1.从全文检索说起 2.倒排索引的原理 3.ES索引构建过程 1.从全文检索说起 首先介绍一下结构化与非结构化数据: 结构化数据将数据具有的特征事先以结构化的形式定义好,数据有固定的格式或有 ...

  9. Lucene 倒排索引原理

    1 前言 Lucene 作为 Apache 开源的一款搜索工具,一直以来是实现搜索功能的神兵利器,现今火热的 Solr 和 Elasticsearch 均基于该工具包进行开发,我们搜索召回组这边也是基 ...

最新文章

  1. java web 开发应用 ----过滤器
  2. 【物联网智能网关-05】扫描键盘编程设计
  3. qt label显示文字_Qt官方示例共享内存
  4. 【tensorflow】【pytorch】_debug_错误集合
  5. java 设计模式_快速上手Java设计模式之简介
  6. 个人常用Sublime Text 插件
  7. struts OGNL表达式
  8. 数据结构之二叉树的一些基本操作
  9. 每日一题(30)—— 局部变量能否和全局变量重名?
  10. android实现qq修改密码底部弹出框_易查分强大的“可修改列”功能:轻松实现填表、留言和信息核对...
  11. bzoj2282 [Sdoi2011]消防 直径+二分+树dp
  12. 第六天 购车程序
  13. leetcode python3 简单题119. Pascal's Triangle II
  14. 实现子元素在父元素中水平垂直都居中笔记
  15. Java多线程问题之同步器CyclicBarrier
  16. 数据结构考研自用——动态顺序表的实现【王道/严蔚敏C语言版】
  17. 使用Docker 安装jdk8
  18. CTF_ CRYPTO(Cryptography)_密码学/密码编码学
  19. jsp酒店客房预订系统带前端
  20. 通过文献计量学助您发表高影响因子论文—基于Citespace和vosviewer文献计量学可视化SCI论文高效写作方法

热门文章

  1. nfctoolspro下载_NFC Tools PRO
  2. 【BZOJ 1455】罗马游戏
  3. 花生日记购物模式已悄然而来,你真的赚不到钱吗
  4. 一个在线卷积池化计算器-推荐不会计算的同学
  5. 中国无线充电器市场现状研究分析与发展前景预测报告
  6. Cherno C++系列笔记17——P52~P54 处理多返回值、模板、堆和栈内存的比较
  7. BAT 剪刀石头布程序
  8. 考虑题4所示的日志记录_2017年北京语言大学计算机应用技术826数据库与管理信息系统考研强化模拟题...
  9. 自动化出来都干什么了?自动化本科生最好的出路!
  10. 煽情的儿子556=随笔