Elastic Serch

  1. 什么是elasticSerch?
    elasticSerch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据快速找到需要的内容。
    在数据库的索引失效的情况下和海量数据查询时,使用elasticserch

  2. 什么是elk
    elk 结合kibana 。 Logstash,Beats,也就是elastic Stack(ELK)。被广泛应用在日志数据分析,实时监控等领域

  3. elasticSerch的底层是Lucene


1.倒排序索引法?
文档:一条数据就是一个文档
词条(term):文档按照予以分成的词语
es的索引:相同类型的文档集合
映射:索引中文文档的字段约束信息,类似表的结构约束

先准备一个索引空间(以空间换时间)
将查询条件分词然后进行等值匹配得到的id再显示出来

2.如何在项目中使用线程池?当有一个非常大的任务,我们把这个任务拆分为多个小任务,线程池里面的线程去执行每个拆分出来的小任务。


es的集群原理

在客户端是会配置集群的ip与port,经过ip/port转发到es服务器上,接收转发的服务器是协调服务器,协调服务器也会根据ip/port转发到相应要查找数据的子服务器上。但是查的数据可能也不止在一个子服务器上,而且子服务器可能会挂掉假设子服务器es-01会挂掉,就会通过自己的shrad primary数据节点进行向其他服务器发起数据同步,将自己的的数据备份到假设为es-03的服务器上备份数据为shard replica 经过备份后es-03会向协es-01发起通知说明已备份完成,再es-01向调服务器es-02返回信息,然后协调服务器再将查询到的数据返回给客户端。

补充:

  1. es服务集群下的master角色:
    该角色与与协调节点服务器没有任何关系,但他也可以是协调服务器。如果在集群里面有服务器挂了的话,假设还是es-01挂了,他会把上述es-03备份的es-01的replica节点数据提升为shard primary 节点。该master角色的作用与Redis集群的master的作用相似。
  2. 分片备份:
    多台服务器备份不是自己的数据,备份的primary为replica,备份的数据要保存数据同步。

es的写入,查询。检索

写入问题:

es会先去os cache中去找要查的数据。es就能收到这个数据。 es准时的同步(几乎)只需要1s,对于左侧的os 同步数据持久化,做的是随机写入,到时候读的话就是随机读,虽然写的块但是读的慢,性能消耗极大。几乎不会丢数据。

但是如果把os cache中的数据每5min传入到translog的操作日志中去,当translog每30min或者translog写满了就会做数据数据持久化操作,触发commit 再写到磁盘里面。translog是记录操作数据的日志,日志的数据一般不会丢,但是从cache 传过来的数据可能会丢失(5min数据)
在commit之后,document文件会生成为segement file文件,持久存储在磁盘里面。segement file是用于存放真实数据的位置。

补充:

  1. 磁盘的顺序写于顺序读问题:

磁道(track):磁道是单个盘面上的同心圆,当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道,一个盘面上的磁道可以有成千上万个。相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会产生相互影响,同时也为磁头的读写带来困难。

扇区(sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区,叫做引导扇区。扇区是被间隙(gap)分割的圆的片段,间隙未被磁化成0或者1。注意,扇区是读写磁盘最基本的单位,如果一个扇区因为某种原因被破坏,那么整个扇区的数据都会受影响。

读取的数据是在磁盘的扇区上
如果不是相邻扇区进行读写操作叫做随机读写,性能十分差,如果读取的数据在相邻的扇区,那么磁盘的性能较高,读写就是顺序读写。

es的删除操作

es中维护了一个.del文件,要删除的时候,客户端会直接访问这个文件,而不去管segement file 是否真的删除了,.del文件有类似于定时任务的机制,到点就删,而且segement file有一个临界条件,如果达到了这个临界条件,segement file会去执行merge操作,合成一个新的大的segement file中没有这些被删除的的记录,丢失会向.del文件查询。

es的查询与检索

  1. 查询原理 :可以理解为,es作为海量数据的搜索引擎,如何减轻es的访问压力,在es看来是十分重要的:

读数据时,会找到任意一台协调节点,会根据documentID进行hash运算,会算出来所有的primary和replica节点,然后就会把这些节点拿去做负载均衡,读取对于的数据,把数据返回给协调节点,然后再传到客户端。

  1. 检索原理:es不知道你要去搜索的东西是在primary或者replica节点,此时协调节点就会去向所有shard 发起广播,问那个shard维护的倒排序索引有对应词条的documentID,此时并不会把documentID对应的文档直接发给协调节点的服务器,而是会在内存里面进行排序分页等操作,处理完成后再根据处理好的顺序documentID到对应的shard上去拿真实数据给客户端。

es的深度分页问题


Elastic Serch 进阶版问题相关推荐

  1. 特朗普“模仿”奥巴马?进阶版换脸技术DeepFakes来了

    整理 | 费棋 出品 | AI科技大本营 DeepFakes,这种能够移花接木的技术,它能将图像或视频中把一张脸替换成另一张脸. 去年 12 月,一个名 Reddit 用户用 DeepFakes 技术 ...

  2. 移动端页面自适应解决方案—rem布局(进阶版)

    之前的一篇<手机端页面自适应解决方案-rem布局>随着时间的推移,该方案已然过时,故为大家介绍一个目前我极力推荐使用的,更加完美的方案--rem布局(进阶版) 该方案使用相当简单,把下面这 ...

  3. 36篇博文带你学完opencv :python+opencv进阶版学习笔记目录

    基础版学习笔记传送门 36篇博文带你学完opencv :python3+opencv学习笔记汇总目录(基础版) 进阶版笔记 项目 opencv进阶学习笔记1: 调用摄像头用法大全(打开摄像头,打开摄像 ...

  4. Tensorflow详解保存模型(进阶版一):如何有选择的保存变量

    当然掌握了基础版还不够,我们来看一下进阶版一:如何有选择的保存变量: 这里还要另外涉及两个函数: tf.variable_scope("xxx") 和 tf.get_variabl ...

  5. kaggle (02) - 房价预测案例(进阶版)

    房价预测案例(进阶版) 这是进阶版的notebook.主要是为了比较几种模型框架.所以前面的特征工程部分内容,我也并没有做任何改动,重点都在后面的模型建造section Step 1: 检视源数据集 ...

  6. c++ 三次多项式拟合_线性回归进阶版,多项式线性回归讲解与实现(附完整代码)...

    每天给小编五分钟,小编用自己的代码,带你轻松学习深度学习!本文将会带你做完一个深度学习进阶版的线性回归---多项式线性回归,带你进一步掌握线性回归这一深度学习经典模型,然后在此基础上,小编将在下篇文章 ...

  7. 蓝桥杯 入门训练 A+B问题进阶版(两个3000位数的加法)

    自古码农出少年,年年都有"A+B" 自古码农出少年,年年都有"A+B" 自古码农出少年,年年都有"A+B" 问题描述 输入A.B,输出A+B ...

  8. python学习-- django 2.1.7 ajax 请求 进阶版

    #原来版本 $.get("/add/",{'a':a,'b':b}, function(ret){ $('#result').html(ret)}) #进阶版  $.get(&qu ...

  9. 手机端页面自适应解决方案—rem布局进阶版

    旧版rem布局 <手机端页面自适应解决方案-rem布局>, 此方案仅适用于移动端web 文章底部常见问题说明第四条,笔者已给出一个相当便捷的解决方案,欢迎留言交流.(2017/9/9) 该 ...

最新文章

  1. 进入贝壳网_贝壳网app下载安装
  2. a类不确定度计算器_统统帮您搞定:LIMS系统,换版、内审、期间核查、不确定度、数据分析…………...
  3. cProfile——Python性能分析工具
  4. springboot-web开发(请求映射原理)
  5. vim设置显示行号,vim跳转到文件头,文件尾
  6. 【C语言简单说】二十:指针基础
  7. java使用外部库_在Java中使用外部库
  8. Linux查看显示编辑文本文件
  9. 深入浅出OOP(一): 多态和继承(早期绑定/编译时多态)
  10. 用UITextView加载rtfd文件
  11. Android本地数据存储:Shared Preferences安全风险浅析
  12. 模仿斗地主玩法实现扑克牌的分发
  13. php强类型 vscode,VSCode 扩展入门,后缀代码补全的实现
  14. (10)大类资产配置一升级版股债平衡
  15. 【Top 30+案例评选】CSDN“2019 优秀AI、IoT应用案例TOP 30+”正式发布
  16. 使用xetex直接由围棋棋谱文件创建pdf书籍
  17. Windows 7远程桌面登录时崩溃
  18. 【presto】presto查询报错整理
  19. 时间序列数据集:UCR Time Series Classification Archive【共128个数据集】
  20. js php滑动拼图解锁,js 滑动拼图验证码

热门文章

  1. Java-String
  2. html默认字体是什么,Windows 系统的默认字体是什么?应用的默认字体是什么?
  3. leetcode杂记
  4. 你可以这样优化 if-else 代码结构
  5. 阿里云的内容识别技术可以实现哪些场景下的智能化应用?
  6. 软件复用:介绍与主要技术
  7. Control-M使用手册
  8. 关于PDF.js使用过程中PDF不能识别中文的问题,进行DJango中的配置
  9. WORD2007插入不同连续页码的方法---适合于学位论文排版
  10. PIM-DM与SM对比