当前位置: 首页 > news >正文

宜城网站建设会用框架做网站能找到工作吗

宜城网站建设,会用框架做网站能找到工作吗,wordpress font,网站 创意 方案一、什么是 ElastcSearch? ElasticSearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎。 1.1 ElasticSearh 的基本术语概念 index 索引 索引类似与 mysql 中的数据库,ES 中的索引是存储数据的地方,包含了一堆有相似结构的文档数据…

一、什么是 ElastcSearch?

ElasticSearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎。

1.1 ElasticSearh 的基本术语概念

  • index 索引
    索引类似与 mysql 中的数据库,ES 中的索引是存储数据的地方,包含了一堆有相似结构的文档数据。
  • type 类型
    类型是用来定义数据结构的,可以认为是 mysql 中的一张表,type 是 index 中的一个逻辑数据分类。
  • mapping 映射
    对字段的定义称为 mapping,可以认为是 mysql 中的表结构。
  • document 文档
    类似于 mysql 中的一行,不同之处在于 ES 中的每个文档可以用不同的字段,但是对于通用的字段应该具有相同的数据类型,文档是 ES 中的最小数据单元,可以认为一个文档就是一条记录。
  • field 字段
    field 是 ES 的最小单位,一个 document 里面有多个 field 。
mysqlES
数据库索引
类型
文档
字段
表结构映射
  • shard 分片
    单台机器无法存储大量数据,ES 可以将一个索引中的数据切分为多个 shard,分布在多台服务器上存储。有了 shard 就可以横向扩展,存储更多数据,让搜索和分析等操作分布到多台服务器上去执行,提升吞吐量和性能。
  • replica 副本
    任何一个服务器随时都可能故障或宕机,此时 shard 可能会丢失,因此可以为每个 shard 创建多个 replica 副本。replica 可以在 shard 故障时提供备用服务,保证数据不丢失,多个 replica 还可以提升搜索操作的吞吐量和性能。
  • 倒排索引
    在搜索引擎中,每个文档都有一个对应的文档 ID,文档内容被表示为一系列关键词的集合。例如,某个文档经过分词,提取20个关键词,每个关键词都会记录它在文档中出现的次数和出现位置。那么,倒排索引就是关键词到文档 ID 的映射,每个关键词都对应着一系列的文件,这些文件都出现了该关键词。有了倒排索引,搜索引擎可以很方便地响应用户的查询。
  • text 和 keyword类型的区别
    两个的区别主要分词的区别:keyword 类型是不会分词的,直接根据字符串内容建立倒排索引,keyword类型的字段只能通过精确值搜索到;Text 类型在存入 Elasticsearch 的时候,会先分词,然后根据分词后的内容建立倒排索引。
  • DocValues
    倒排索引也是有缺陷的,假如我们需要对数据做一些聚合操作,比如排序/分组时,lucene内部会遍历提取所有出现在文档集合的排序字段,然后再次构建一个最终的排好序的文档集合list,这个步骤的过程全部维持在内存中操作,而且如果排序数据量巨大的话,非常容易就造成solr内存溢出和性能缓慢。

DocValues 就是 es 在构建倒排索引的同时,构建了正排索引,保存了docId到各个字段值的映射,可以看作是以文档为维度,从而实现根据指定字段进行排序和聚合的功能。另外doc Values 保存在操作系统的磁盘中,当docValues大于节点的可用内存,ES可以从操作系统页缓存中加载或弹出,从而避免发生内存溢出的异常,docValues远小于节点的可用内存,操作系统自然将所有Doc Values存于内存中(堆外内存),有助于快速访问。

二、ES 写数据流程及原理

2.1 写数据流程

在这里插入图片描述

  1. 客户端选择一个节点发送请求过去,这个节点就是协调节点(coordinating node);
  2. 协调节点对 document 进行路由,将请求转发给对应的有 primary shard 的节点;
  3. 实际的节点上的 primary shard 处理请求,然后将数据同步到 replica node;
  4. 协调节点等到 primary node 和所有 replica node 都执行成功之后,就返回响应结果给客户端;

2.2 写数据底层实现原理

  1. 数据先写入内存缓存(Memory Buffer),然后定时(默认每隔1s)将内存缓存中的数据写入一个新的 segment 文件中,并写入文件缓存(Filesystem Cache)(同时清空内存缓存),这个过程就叫 refresh;
  2. 由于内存缓存和文件系统缓存都是基于内存的,如果服务器宕机,那么数据就会丢失,所以 ES 通过 translog 日志文件来保证数据可靠性,在数据写入内存缓存的同时,将数据写入 translog 文件中,在机器宕机重启时,ES 会自动读取 translog 日志文件中的数据,恢复到内存缓存和文件系统缓存中去。
  3. flush 操作:不断重复上面的步骤,translog 会变得越来越大,当 translog 文件默认每 30 分钟或者阈值超过 512M 时,就会触发 commit 操作,这个过程称为 flush 操作。

commit 操作

  • 1.将 Buffer 中的数据 refush 到 Filesysytem Cache 中,清空 Buffer;
  • 2.创建一个新的 commit point,同时强行将 Filesystem Cache 中目前所有的数据都 fsync 到磁盘文件中;
  • 3.删除旧的 translog 日志文件并创建一个新的 translog 日志文件,此时 commit 操作完成;

三、ES 搜索的过程

搜索过程被分为 Query then Fetch 两个阶段执行:

  • Query 阶段
    客户端发送请求到协调节点,协调节点将搜索请求广播到所有的 primary shard 或 replica shard。每个分片在本地执行搜索并构建一个匹配文档的大小为 from+size 的优先队列。每个分片返回各自优先队列中所有文档的 ID 和排序值给协调节点,由协调节点及执行数据的合并、排序、分页等操作,产生最终结果;
  • Fetch 阶段
    协调节点根据 doc Id 去各个节点上查询实际的 document 数据,由协调节点返回结果给客户端。
    原理
    1、协调节点对 doc Id 进行哈希路由,将请求转发到对应的节点,此时会使用 round-robin 随机轮询算法,在 primary shard 以及所有 replica shard 中随机选择一个,让读请求负载均衡;
    2、接受请求的节点返回 document 给协调节点;
    3、协调节点返回 document 给客户端;

四、Master 节点的选举

4.1 ES 的分布式原理

ES 会对存储的数据进行切分,将数据划分到不同的分片上,同时每一个分片会保存多个副本,主要是为了保证分布式环境的高可用。在 ES 中,节点时对等的,节点间会选取集群的 Master,由 Master 负责集群状态信息的改变,并同步给其他节点。

4.2 ES 如何选举 Master

ES 的选主是 ZenDiscovery 模块负责的,主要包含 Ping 和 Unicast这两部分;

  1. 确认候选主节点的最少投票通过数量;
  2. 对所有候选主节点根据 node Id 字典排序,每次选举每个节点都把自己所知道节点排一次序,然后选出第一个节点,暂时认为它是 Master 节点;
  3. 如果对某个节点的投票数达到阈值,并且该节点自己也选举自己,那这个节点就是 Master。否则重新选举,一直到满足上诉条件;

4.3 ES 如何避免脑裂现象

  • 当集群中 Master 候选节点数不小于 3 个时,可以通过设置最少投票通过数量,设置超过所有候选节点一半以上来解决脑裂问题,即设置为(N / 2)+1;
  • 当集群 Master 候选节点只有 2 时,这种情况是不合理的,最好把另外一个 node.master 改成 false;
http://www.yayakq.cn/news/668947/

相关文章:

  • 主机屋怎么做网站六盘水seo
  • 开发网站公司都需要什么岗位人员短视频获客系统
  • 专业网站建设公司兴田德润简介免费的微网站制作平台
  • 网站福利你们会回来感谢我的织梦后台做的网站怎么绑定域名
  • 京东网站的设计风格北京搜索引擎推广服务
  • 国外学校网站模板牡丹区建设局网站
  • 海洋馆网站建设百度云网盘资源搜索引擎
  • 扬州市城市建设投资公司网站上海市建设市场信息服务平台
  • 华宁网站建设襄樊门户网站建设
  • 网站接入商排名简单易做的网站
  • 郑州网站建设公司排名福州一站式品牌推广运营公司
  • 海外做淘宝网站建站工作室
  • 企业网站托管服务常用指南云南文山邮编
  • 网站开发研发设计wordpress帖子置顶
  • 大区直播间网站开发制作成都网站制作-中国互联
  • 惠州app网站建设排行榜湖南建设信息网站
  • 广东网站建设设计服务网站改版重新备案
  • 什么是网站前台静态化中企动力网站方案
  • 公司建设网站的好处山西城乡和住房建设厅网站首页
  • 内蒙古建设住房与城乡厅官方网站网站网页设计的要求
  • 哪些网站做的比较好看的图片做视频网站一般多少钱
  • 遵义市做网站公司能在线做英语题目的网站
  • 免费asp公司网站模板自学做网站需要学会哪些
  • 精美化妆品网站模板大型网站系统解决方案
  • 专业网站设计第三方江苏金安建设公司网站
  • 个人工作室网站上海建设银行网站转账记录查询
  • 怎么让公司网站显示官网万网怎么建设网站
  • 深圳自适应网站建设吕子乔做网站吹的语录
  • wordpress自动上传外链图片大连知名的seo外包
  • 防水网站建设国外服务器地址ip