IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 什么是ElasticSearch的倒排索引 -> 正文阅读

[大数据]什么是ElasticSearch的倒排索引

1:我记得再我面试的时候第一次被问到这样的问题,我顿时有点语塞,也有点不理解然后我重新看了下资料,总结了下面的个人理解的。

首先大家应该都知道es是面向文档型的数据库,他跟传统型的关系型数据库还不一样,接下来为了方便大家理解我特意找了下资料,下面请看图.

大家看到了这幅图以后相信大家已经对es和传统型的关系型数据库有所了解了。

那么接下来进入正题,为啥es跟传统的关系型数据库查询的效率有很大的区别呢,那么我们接下来会引入一个概念,倒排索引

2:倒排索引

(1):什么是倒排索引呢?

? ? ? ? 再跟大家介绍倒排索引这个概念的时候,我想跟大家说一下“正排索引”相信。举个栗子

文章编号? (id)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章内容(comment)

1001? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? my name is? Mr qian

1002? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? my name is? ?Li si

我们可以将文章编号(ID)可以作为主键,然后将其变成索引,这样搜索起来可以快速的查到我们所需要的内容。

当然这是正排索引所带来的效率是很快的。这里就不多做解释了,但是如果我们想要查其内容( 例子: Mr qian),这样我们查起来会非常的麻烦,我们需要做 模糊查询,模糊查询效率会很低,相当于全局去搜索数据库中所有的数据然后再去做匹配。这样的效率会很低,如果我们查询内容想要查询名字是大写的,但是内容中是小写(Mr qian)的怎么办呢。这时候大家是查还是不查呢。

上面这个栗子,是给大家回顾一下数据库的一些概念,目的就是为了更好的帮助大家解释下什么是倒排索引。

(2):下面继续给大家举个栗子:

? ? ? ? 我们可以将关键字和 id 作为关联 ,这时候如果我们查询name呢,那么他就会关联我们的1001,1002,如果我们查询 qian 那么就会关联 1001.

keyword? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?id

name? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1001,1002

qian? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1001

这就是我们的倒排索引,他是跟关键字联系起来的,这样的效率就会大大的提升,在倒排索引中所体现出来的是关键字和文档编号的一个关联。

总结: 模糊查询虽然也能查出来我们想要的数据,但是大家都明白在数据量小的时候这样是可以的,但是一旦数据量巨大,往往带来的是很严重的效率问题,这也是我们需要优化的点之一,es就可以很好的解决这个问题,因为,他是将编号和关键字作为关联,这样我们差的时候就会效率更快而且更准确的查出我们想要的数据。后续小编也会更好的给大家解释下后续es的入门。

最后文章也只是对个人的所理解的东西做一个小小理解,如果有不足的地方还请各位大佬们指出。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:39:53  更:2022-01-25 10:40:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 14:37:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码