ElasticSearch
ElasticSearch相关知识
程序员面试那点事儿
互联网大厂校招、社招面试官,多年互联网大厂工作经验,分享校招、社招面试题、职场相关内容,互相交流经验
展开
-
学习导航
ElasticSearch是什么以及应用场景原创 2021-01-06 21:54:06 · 74 阅读 · 0 评论 -
ElasticSearch是什么以及应用场景
0. 带着问题上路——ES是如何产生的?(1)思考:大规模数据如何检索?如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题:1)用什么数据库好?(mysql、syBase、oracle、达梦、神通、mongoDB、hBase…)2)如何解决单点故障;(LVS、F5、A10、Zookeeper、MQ)3)如何保证数据安全性;(热备、冷备、异地多活...原创 2019-03-29 10:39:29 · 2471 阅读 · 0 评论 -
ElasticSearch索引过程
文章目录概念图协调节点流程客户端发送索引请求参数检查数据预处理自动创建索引请求预处理检测集群状态路由算法及构建shard请求转发请求并等待响应主分片节点流程主分片索引文档副本分片索引文档请求返回概念图协调节点流程客户端发送索引请求客户端向ES节点发送索引请求参数检查对请求中的参数进行检查,检查参数是否合法,不合法的参数直接返回失败给客户端。数据预处理如果请求指定了pipeline参数,则对数据进行预处理,数据预处理的节点为Ingest Node,如果接受请求的节点不具有数据处理能力,则转发原创 2020-11-10 08:07:24 · 1449 阅读 · 0 评论 -
ElasticSearch常见优化方案
设计阶段调优根据业务增量需求,采取基于日期模板创建索引,通过 roll over API 滚动索引使用别名进行索引管理每天凌晨定时对索引做 force_merge 段合并操作,以释放空间采取冷热分离机制,热数据存储到 SSD,提高检索效率,冷数据定期进行 shrink操作,以缩减存储采取 curator 进行索引的生命周期管理仅针对需要分词的字段,合理的设置分词器Mapping 阶段充分结合各个字段的属性,是否需要检索、是否需要存储等写入调优写入前副本数设置为 0写入前关闭 ref原创 2020-11-10 08:07:12 · 271 阅读 · 0 评论 -
ElasticSearch缩小索引之Shrink API
文章目录缩小索引概述准备缩小索引缩小索引Shrink 工作过程创建新索引创建硬链接目的索引 recovery在 Elasticsearch 中,主节点管理分片有很大工作量,降低集群整体分片数量可以降低 recovery 的时间,减小集群状态的大小。很多时候,冷索引不会再有数据写入,可以使用 shrink API 缩小索引分配数。缩小完成后,源索引可删除。缩小索引API可以允许你将存在的索引转变为一个只包含主要分片的新索引。目标索引中请求的主要分片数量必须要为原索引中的因子(即原分片数量是新分片倍数原创 2020-11-10 08:06:58 · 525 阅读 · 0 评论 -
Elasticsearch的分布式查询过程
客户端发送一个 search 请求到 Node 3 , Node 3 会创建一个大小为 from + size 的空优先队列。Node 3 将查询请求转发到索引的每个主分片或副本分片中。每个分片在本地执行查询并添加结果到大小为 from + size 的本地有序优先队列中。每个分片返回各自优先队列中所有文档的 ID 和排序值给协调节点,也就是 Node 3 ,它合并这些值到自己的优先队列中来产生一个全局排序后的结果列表。https://blog.csdn.net/u010454030/article.原创 2020-11-10 08:06:31 · 424 阅读 · 0 评论 -
ElasticSearch启动流程详解
选举主节点每个节点计算最低的已知节点ID,并向该节点发送领导投票如果一个节点收到足够多的票数,并且该节点也为自己投票,那么它将扮演领导者的角色,开始发布集群状态。所有节点都会参数选举,并参与投票,但是,只有有资格成为 master 的节点的投票才有效. 详细选举集群元信息allocation过程index recoveryhttps://www.easyice.cn/archives/164当一个索引的主分片分配成功后,到此分片的写操作就是允许的。当一个索引所有的主分片都分配成功后,该原创 2020-11-05 08:16:21 · 401 阅读 · 0 评论 -
ElasticSearch选主流程
文章目录选举算法Bully算法Paxos算法选举流程概述具体流程发生时间Discovery模块负责发现集群中的节点和选择主节点,内置实现为Zen Discovery,封装了节点发现、选主等实现过程。选举算法Bully算法基本思想:假定所有节点都有一个唯一ID,通过ID对节点进行排序。当前Leader是参与集群的最高ID的节点问题:最大ID节点不稳定,会出现频繁选举。ES通过推迟选举,只要主节点不挂掉,就不重新选主脑裂问题。ES通过法定得票人数过半原则,避免脑裂问题Paxos算法原创 2020-11-05 08:15:51 · 582 阅读 · 1 评论 -
ElasticSearch集群内部原理
分布式系统的集群方式可以分为主从和无主模式。主从模式通过将Mater作为权威节点,将操作分工,维护集群元信息简化系统设计,但是存在单点故障的问题。集群的相关角色主节点管理集群层面相关的相关操作。一般不作为数据节点,尽量做少量的工作。为避免出现脑裂问题(网络分区时出现多主)的情况,配置discovery.zen.minimum_master_nodes=(master_eligible_nodes)/2+1数据节点负责保存数据、执行数据的相关操作,对CPU、内存、IO要求较高,一般情况下,数据读原创 2020-11-04 10:13:03 · 179 阅读 · 0 评论 -
ElasticSearch基本概念及原理
起源-Lucene基于Java语言开发的搜索引擎Lucene具有高性能、易扩展的优点Lucene的局限性:只能基于Java语言开发、类库的接口学习曲线陡峭、原生并不支持水平扩展ElasticSearch主要功能海量数据的分布式存储及集群管理近实时搜索、性能卓越海量数据的近实时分析...原创 2020-11-03 08:38:13 · 247 阅读 · 0 评论 -
基于ElasticSearch实现商品的全文检索检索
全文检索相关概念 数据分类; 结构化数据:行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据能够用数据或统一的结构加以表示,可以用数字和符号加以表示 非结构化数据:无法用数字或统一的结构表示 文本、图像、声音、网页 结构化数据属于非结构化数据,非结构化数据即为全文数据 全文检索:一种将文件中或者数据库中所有文本与检索项匹配的文字资料...原创 2018-04-15 18:32:50 · 12992 阅读 · 1 评论