ES中倒排索引机制

这篇具有很好参考价值的文章主要介绍了ES中倒排索引机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在ES的倒排索引机制中有四个重要的名词:Term、Term Dictionary、Term Index、Posting List。

  • Term(词条):词条是索引里面最小的存储和查询单元。一段文本经过分析器分析以后就会输出一串词条。一般来说英文语境中词条是一个单词,中文语境中一个词条是分词后的一个词组。

    此处涉及到分词器,分词器的作用是将一段文字分解为若干个词组,不同的分词器使用的分词算法不同,得到的分词结果也不同。

  • Term Dictionary(词典):词典是词条的集合,顾名思义,词典中维护的是Term。词典一般是由文本集合中出现过的所有词条所组成的集合。

  • Term Index(词条索引):由于词典中维护着文本中所有的词条,为了在其中更快的找到某个词条,我们为词条建立索引。通过压缩算法,词条索引的大小只有所有词条的几十分之一,因此词条索引可以存储在内存中,因此可以提供更快的查找速度。

  • Posting List(倒排表):倒排表记录的是词条出现在哪些文档里,以及出现的位置和频率等信息。倒排表中的每条记录称为一个倒排项(posting)。

将以上概念类比到词典中,Term相当于词典中的词语,Term Dictionary相当于词典本身,Term Index相当于词典的目录。

举个栗子,假设现在我们输入系统多段文本,经过分词器分词后得到以下词条:

  • elastic
  • flink
  • hadoop
  • kafka
  • spark

ES中倒排索引机制,elasticsearch

我们使用ES进行全文搜索时,如图所示,系统首先会通过Term Index找到该Term在Term Dictionary中的位置,再通过倒排索引结构找到对应的Posting,从而定位到该词组在文本中的位置,完成一次搜索。

 文章来源地址https://www.toymoban.com/news/detail-648566.html

到了这里,关于ES中倒排索引机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 倒排索引:ES倒排索引底层原理及FST算法的实现过程

    这也许是你全网你能找到的最详细的倒排索引的底层解读。博主把倒排索引的讲解划分为以下七个部分,理解难度递增,可根据自身需要选择依次阅读或者针对性阅读。 通常来说,应付一般的面试,理解第一部分即可。如果需要面试搜索相关业务的岗位,需要深层次理解倒排

    2024年01月21日
    浏览(47)
  • ES底层原理之倒排索引

    目录 一、ElasticSearch架构原理 1、ElasticSearch集群的节点类型 2、不可变性 3、写和创建 4、删除和更新 5、利用磁盘缓存实时检索 6、translog提供磁盘控制 二、倒排索引 1、单词----文档矩阵 2、倒排索引 3、倒排索引简单实例 1、ElasticSearch集群的节点类型 Elasticsearch的一个实例是一

    2024年02月06日
    浏览(34)
  • ES入门十一:正排索引和倒排索引

    索引本质上就是一种加快检索数据的存储结构,就像书本的目录一下。 为了更好的理解正排索引和倒排索引,我们借由一个 **唐诗宋词比赛,**这个比赛一共有两个项目: 给定诗词名称,背诵整首 给诗词中几个词语,让你说出带这些词语的诗词。 不难想到,1比较简单,就是

    2024年04月10日
    浏览(77)
  • 【ElasticSearch】ElasticSearch的倒排索引

    什么是ElasticSearch ElasticSearch是一个基于Apache Lucene构建的开源搜索引擎,它提供了强大的全文搜索和分析功能。它不仅可以快速搜索和检索大量的结构化和非结构化数据,还具备水平扩展和高可用性的特性。 1. 弹性搜索和分布式特性 ElasticSearch被设计为分布式的,可以在多个节

    2024年02月10日
    浏览(42)
  • ElasticSearch简介之倒排索引

    第二点必须准确吧,假如我搜索电脑,结果搜索出来的结果是一些奇奇怪怪的东西,要是在这时候投屏怕不是会陷入社死的尴尬吧。 第三点对于我这种比较粗心的人还是需要有一点的容忍度,哪怕输错其中一个字,也可以给出相关的搜索结果。 第四点对于大部分人而

    2024年04月15日
    浏览(33)
  • Elasticsearch的倒排索引简介

    Elasticsearch的倒排索引(Inverted Index)是其能够快速执行全文搜索查询的关键技术。为了理解倒排索引的工作原理,我们可以将其与传统的正向索引进行比较。 正向索引(Forward Index) 在正向索引中,索引是以文档为中心构建的。每个文档ID映射到它包含的一系列词汇上。例如

    2024年03月16日
    浏览(51)
  • Elasticsearch的倒排索引是什么?

    Elasticsearch是基于 Apache Lucene【lusen】的搜索引擎,支持Restful API风格【可以使用常见的HTTP请求来访问】,并且搜索速度很快,可以提供实时的搜索服务。 其实Elasticsearch的功能有很多,比如分布式存储、实时数据分析等很多方面。使用ES的好处有几点: 系统解耦。使用ES之后,

    2024年04月10日
    浏览(40)
  • 【Elasticsearch专栏 01】深入探索:Elasticsearch的正向索引和倒排索引是什么

    首先,要明确的是,Elasticsearch本质上只使用倒排索引来实现高效的搜索和查询功能。正向索引虽然在某些数据库和搜索系统中被提及,但在Elasticsearch的上下文中并不是一个核心概念。下面我详细解释倒排索引,并简要提及正向索引以提供对比。 倒排索引是Elasticsearch中用于实

    2024年02月22日
    浏览(49)
  • Elasticsearch(1)——倒排索引与HTTP操作Elasticsearch

    1 前言 Elastic Stack 核心产品包括 Elasticsearch【存储数据】、Kibana【展示数据】、Beats 和 Logstash【收集与传输数据】(也称为 ELK Stack)等等。能够安全可靠地从任何来源获取任何格式的数据,然后对数据进行搜索、分析和可视化。sa Elasticsearch 是一个分布式、RESTful 风格的搜索和

    2024年02月12日
    浏览(37)
  • ElasticSearch:全文检索及倒排索引原理

    首先介绍一下结构化与非结构化数据: 结构化数据将数据具有的特征事先以结构化的形式定义好,数据有固定的格式或有限的长度。典型的结构化数据就是传统关系型数据库的表结构,数据特征直接体现在表结构的字段上,所以根据某一特征做数据检索很直接,速度也比较快

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包