2019年度 ACOUG活动启动啦!为了感恩和回馈一直支持社区工作的技术爱好者、会员、嘉宾和合作伙伴,2019年度,我们汇集了行业大咖最新的精彩主题跟大家分享,更有惊喜好礼等你拿,点击“我要报名”,立即参与!2019年,我们将探索更多可能。

本次活动我们邀请到了来自Oracle、云和恩墨、Mellanox的专家,议题涵盖故障解析、新架构、新功能。

有理论上的干货知识,更有动手实验室,手把手教你使用Oracle APEX快速开发应用。

报名:2019 ACOUG China Tour 上海站

随着央视诗词大会的热播,小史开始对诗词感兴趣,最喜欢的就是飞花令的环节。

但是由于小史很久没有背过诗词了,飞一个字很难说出一句,很多之前很熟悉的诗句也想不起来。

倒排索引

吕老师:但是我让你说出带“前”字的诗句,由于没有索引,你只能遍历脑海中所有诗词,当你的脑海中诗词量大的时候,就很难在短时间内得到结果了。

索引量爆炸

搜索引擎原理

Elasticsearch 简介

吕老师:但是 Lucene 还是一个库,必须要懂一点搜索引擎原理的人才能用的好,所以后来又有人基于 Lucene 进行封装,写出了 Elasticsearch。

Elasticsearch 基本概念

吕老师:类型是用来定义数据结构的,你可以认为是 MySQL 中的一张表。文档就是最终的数据了,你可以认为一个文档就是一条记录。

吕老师:比如一首诗,有诗题、作者、朝代、字数、诗内容等字段,那么首先,我们可以建立一个名叫 Poems 的索引,然后创建一个名叫 Poem 的类型,类型是通过 Mapping 来定义每个字段的类型。

比如诗题、作者、朝代都是 Keyword 类型,诗内容是 Text 类型,而字数是 Integer 类型,最后就是把数据组织成 Json 格式存放进去了。

吕老师:这个问题问得好,这涉及到分词的问题,Keyword 类型是不会分词的,直接根据字符串内容建立反向索引,Text 类型在存入 Elasticsearch 的时候,会先分词,然后根据分词后的内容建立反向索引。

吕老师:之前我们说过,Elasticsearch 把操作都封装成了 HTTP 的 API,我们只要给 Elasticsearch 发送 HTTP 请求就行。

比如使用 curl -XPUT 'http://ip:port/poems',就能建立一个名为 Poems 的索引,其他操作也是类似的。

Elasticsearch 分布式原理

吕老师:没错,Elasticsearch 也是会对数据进行切分,同时每一个分片会保存多个副本,其原因和 HDFS 是一样的,都是为了保证分布式环境下的高可用。

吕老师:没错,在 Elasticsearch 中,节点是对等的,节点间会通过自己的一些规则选取集群的 Master,Master 会负责集群状态信息的改变,并同步给其他节点。

吕老师:注意,只有建立索引和类型需要经过 Master,数据的写入有一个简单的 Routing 规则,可以 Route 到集群中的任意节点,所以数据写入压力是分散在整个集群的。

ELK 系统

吕老师:其实很多公司都用 Elasticsearch 搭建 ELK 系统,也就是日志分析系统。其中 E 就是 Elasticsearch,L 是 Logstash,是一个日志收集系统,K 是 Kibana,是一个数据可视化平台。

吕老师:分析日志的用处可大了,你想,假如一个分布式系统有 1000 台机器,系统出现故障时,我要看下日志,还得一台一台登录上去查看,是不是非常麻烦?

吕老师:但是如果日志接入了 ELK 系统就不一样。比如系统运行过程中,突然出现了异常,在日志中就能及时反馈,日志进入 ELK 系统中,我们直接在 Kibana 就能看到日志情况。如果再接入一些实时计算模块,还能做实时报警功能。

总结

小史学完了 Elasticsearch,在笔记本上写下了如下记录:

  • 反向索引又叫倒排索引,是根据文章内容中的关键字建立索引。

  • 搜索引擎原理就是建立反向索引。

  • Elasticsearch 在 Lucene 的基础上进行封装,实现了分布式搜索引擎。

  • Elasticsearch 中的索引、类型和文档的概念比较重要,类似于 MySQL 中的数据库、表和行。

  • Elasticsearch 也是 Master-slave 架构,也实现了数据的分片和备份。

  • Elasticsearch 一个典型应用就是 ELK 日志分析系统。

写完,又高高兴兴背诗去了。

来源:互联网侦查公众号


资源下载

关注公众号:数据和云(OraNews)回复关键字获取

2018DTCC ,数据库大会PPT

2018DTC,2018 DTC 大会 PPT

ENMOBK,《Oracle性能优化与诊断案例》

DBALIFE ,“DBA 的一天”海报

DBA04 ,DBA 手记4 电子书

122ARCH ,Oracle 12.2体系结构图

2018OOW ,Oracle OpenWorld 资料

云和恩墨大讲堂 | 一个分享交流的地方

长按,识别二维码,加入万人交流社群

请备注:云和恩墨大讲堂

墙裂推荐 | 漫画解读Elasticsearch原理,看完你就懂相关推荐

  1. 浙江大学墙裂推荐的超高人气《看漫画学Python》回来啦

    你还在枯燥无味地学编程吗? 你还在闷头背诵那些根本没有理解的内容吗? 根本不用那么煎熬!想不想来体验一下翻着漫画就搞定Python的感觉?? <看漫画学Python:有趣.有料.好玩.好用(全彩 ...

  2. 图解 Git 工作原理,看完你就懂了!

    本文图解Git中的最常用命令.如果你稍微理解Git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文件. git add files ...

  3. 计算机图像图形设计制作 步骤,怎样在电脑上制作流程图?小编“墙裂”推荐它!...

    原标题:怎样在电脑上制作流程图?小编"墙裂"推荐它! 我们在工作生活中经常能看到各式各样的流程图.流程图主要由线条.几何图框以及文字构成,根据应用场景分为:业务流程图.数据流程图. ...

  4. python 数据分析教程推荐_太香了!墙裂推荐6个Python数据分析神器!!

    作者:东哥起飞,数据爱好者 Python数据科学 hello,大家好我是东哥! 用Python处理数据大家都不陌生了,属常规操作,但常规之下还是也有些暗藏技巧的,本篇东哥分享6个好玩高效的操作,帮助大 ...

  5. 墙裂推荐 Anaconda | 安利 Python IDE

    一.为什么安装 Anaconda? 如果你苦于给 python 安装各种包,安装过程中还各种出错.那么我墙裂推荐你!Anaconda 可以帮助你管理这些包,包括安装,卸载,更新. Anaconda 附 ...

  6. 墙裂推荐c++的学习网站(OJ)

    目录 墙裂推荐OJ 墙裂推荐学习软件 墙裂推荐线上编辑器 墙裂推荐OJ 要想学好c++,更好的OJ少不了啊!!! 为了让诸多小白们有更好的学习测试环境,特此准备了一下几个OJ, 1.Openjudge ...

  7. 关于文本编辑器我为什么墙裂推荐你使用Notepad++

    关于文本编辑器,我使用过好几种,比如记事本.editplus.Notepad++.emeditor.sublime text等等.每个都有它自己的特点,我也不能说哪个好或者不好,只能说自己使用起来最顺 ...

  8. 「 墙裂推荐」互联网人必备GIF制作的14种选择

    生活中可能遇到将自己的操作或者视频转换成 GIF 图分享给别人,今天墙裂推荐 14 个 GIF 制作通道,一起 mark 吧! 本文通过制作 GIF 软件.录制 GIF 软件以及在线制作 GIF 网站 ...

  9. 墙裂推荐,Python开发者不容错过的7个VS Code扩展

    Visual Studio Code(简称 VS Code)是一个由微软开发,同时支持 Windows. Linux 和 macOS 等操作系统的免费代码编辑器,它支持测试,并内置了 Git 版本控制 ...

最新文章

  1. 链表问题13——删除无序单链表中值重复出现的节点(方法二)
  2. 序列内置方法详解(string/list/tuple)
  3. linuxdeployqt打包
  4. uni-app组件之间的传值
  5. CodeForces - 1368F Lamps on a Circle(交互+贪心)
  6. 前端学习(2765):如何传递事件和参数
  7. Android 实现指纹识别demo
  8. 剑指 Offer II 036. 后缀表达式
  9. SQL NOTE--VIEW
  10. 西门子触摸屏脚本程序_西门子触摸屏程序如何上传
  11. 计算机del键作用,Delete是什么键,Delete键和Del键的区别是什么?
  12. Python脚本系列:拳皇13一键出招以及连段实现!谁打得过我?
  13. LAB3 PartA 用户环境与异常处理
  14. MATLAB 画三维长方体 介绍+代码
  15. 李博轩现就职于西部电影集团艺创中心,国家三级摄影师
  16. 面试官:现在还有不会音视频的Android开发?
  17. Cotex-M3内核STM32F10XX系列时钟及其配置方法
  18. 乐华娱乐CEO杜华揭秘:捧红王一博 与孙一丁是配偶同居关系
  19. 蛋花花分析到底该不该让孩子学编程
  20. 7-3 最长公共前后缀

热门文章

  1. 开源版本命名规范_11个开源项目如何命名
  2. 我如何开始使用Linux
  3. opensource项目_最佳Opensource.com:教程
  4. 运行Java web时遇到的错误
  5. Bootstrap按钮组嵌套
  6. hive udaf_谈笑间学会大数据初识Hive
  7. java channelpipeline,Netty那点事(三)Channel与Pipeline
  8. c语言malloc和直接声明,问下关于malloc的声明问题
  9. #3120. 「CTS2019 | CTSC2019」珍珠
  10. 回炉重造-数据结构之数组列表