参考文章:终于有人把elasticsearch原理讲通了!

小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。

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

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

【倒排索引】

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

【索引量爆炸】

【搜索引擎原理】

【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,在笔记本上写下了如下记录:

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

2、搜索引擎原理就是建立反向索引

3、elasticsearch在lucene的基础上进行封装,实现了分布式搜索引擎

4、elasticsearch中的索引、类型和文档的概念比较重要,类似于mysql中的数据库、表和行

5、elasticsearch也是master-slave架构,也实现了数据的分片和备份

6、elasticsearch一个典型应用就是elk日志分析系统

观书有感

朱熹

半亩方塘一鉴开,天光云影共徘徊。

问渠那得清如许?为有源头活水来。

关于elasticsearch索引,倒排索引简介相关推荐

  1. ElasticSearch索引

    Elasticsearch索引: 简介 索引是具有相同结构的文档集合.在Elasticsearch中索引是个非常重要的内容,对Elasticsearch的大部分操作都是基于索引来完成的.同时索引可以类 ...

  2. delphi报列表索引越界怎么处理_图解Elasticsearch索引机制,此篇带你领悟新世界...

    前言 随着Elastic的上市,ELK不仅在互联网大公司得到长足的发展,而且在各个中小公司都得到非常广泛的应用,甚至连"婚庆网站"都开始使用Elasticsearch了.随之而来的 ...

  3. Elasticsearch索引(company)_Centos下CURL增删改

    目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.Elasticsearch索引说明 a. 通过上面几篇博客已经将Elastics ...

  4. Elasticsearch索引原理

    最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elastic ...

  5. mysql索引 和 es索引_MySQL索引 VS ElasticSearch索引

    今天MySQL数据库栏目介绍MySQL索引与ElasticSearch索引的对比. 前言 这段时间在维护产品的搜索功能,每次在管理台看到 elasticsearch 这么高效的查询效率我都很好奇他是如 ...

  6. Elasticsearch索引安装使用

    环境 系统环境:centos7.0 远程链接工具:xshell 服务器: elasticsearch-7.9.3 192.168.137.171 安装介绍 介绍 关系数据库⇒ 数据库⇒表⇒ 行⇒ 列( ...

  7. 大数据开发:ElasticSearch 索引设置

    提起ElasticSearch,大家首先会联想到的往往是其特殊的索引机制,带来的快速查询性能优势.前面我们也对ElasticSearch的索引机制做了简单的介绍,今天的大数据开发分享,我们来讲讲Ela ...

  8. ElasticSearch(五) 倒排索引与分词

    title: ElasticSearch(五) 倒排索引与分词 tags: ElasticSearch author: Clown95 倒排索引与分词 倒排索引 Elasticsearch 使用一种称 ...

  9. 一文搞懂Elasticsearch索引的mapping与setting

    目录 Elasticsearch索引结构 Mapping Setting Elasticsearch索引结构 一个Elasticsearch索引的主要结构如下: {"test_index&q ...

最新文章

  1. JavaScript中的异步梳理(0)
  2. 我们已经不用 AOP 做日志很久了!
  3. java线程代码实现_Java 多线程代码实现讲解
  4. Linux 查看CPU,内存,硬盘
  5. 开发技巧-使用SQL与Navicat快速导出一个自定义的MYSQL数据库字段表格(数据字典)为Word或Excel
  6. 使用pdf.js来预览pdf文件_适用于Dynamics365与PowerApps的注释预览组件
  7. 【OJ】华东师范大学Python程序设计OJ题解
  8. 先滑窗后时空联合处理MATLAB,时空联合优化重建方法及系统与流程
  9. java8 collections_关于Jdk7与Jdk8对Collections进行分组的区别
  10. 《JSjQuery 交互式web前端开发》(四)判断和循环
  11. “无人区”行驶8年,李诞的脱口秀路在何方?
  12. vim 配置文件.vimrc[放在home目录下哦]
  13. 服务器阵列卡维修费用,IBM服务器阵列卡损坏N种情况的解决的方法.doc
  14. STM32单片机TTS温度播报系统 DS18B20 LCD1602
  15. 史玉柱的团队管理之道
  16. 帝国cms tag生成html,帝国CMS tags标签多种调用方法
  17. KaTex数学公式编辑器相关
  18. 关于学术文献推荐系统的调研报告
  19. Unity VR开发教程 OpenXR+XR Interaction Toolkit (五) UI
  20. IBM获5896项专利连续18年蝉联年度冠军

热门文章

  1. 配置org.springframework.scheduling.quartz.CronTriggerBean
  2. 怎么做自媒体电影素材下载?怎么快速下载电影素材?
  3. clean my mac最新版多功能电脑管家类清理软件工具
  4. 谷歌收购剑桥初创公司 手机屏幕或将变扬声器
  5. C语言 C6031 返回值被忽略scanf
  6. 传奇创世孙大宁对H5行业的独特视点与发展期许
  7. 操作系统(四)补充---DOS微软磁盘操作系统
  8. LayaAir开发笔记
  9. 再谈华罗庚先生的《统筹方法》
  10. 李开复:未来10年出现独角兽最多领域将是人工智能