| |
|
开发:
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的入门。 最后文章也只是对个人的所理解的东西做一个小小理解,如果有不足的地方还请各位大佬们指出。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |