Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【ElasticSearch面试】10道不得不会的ElasticSearch面试题

【ElasticSearch面试】10道不得不会的ElasticSearch面试题

原创
作者头像
JavaPub
发布于 2022-03-26 12:11:06
发布于 2022-03-26 12:11:06
1.3K0
举报
文章被收录于专栏:JavaPubJavaPub

以下是 ElasticSearch 面试题,相信大家都会有种及眼熟又陌生的感觉、看过可能在短暂的面试后又马上忘记了。**JavaPub**在这里整理这些容易忘记的重点知识及解答,建议收藏,经常温习查阅

评论区见

关于es的面试,建议使用名词用官方语言描述会更准确。

toc

1. 说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。

节点数、分片数、副本数,尽量根据自己公司使用情况回答,当然适当放大也可行。

调优手段是现在很常见的面试题,下面这几种调优手段一定要了解懂。当然,下面的每一条都可以当做调优的一部分。

设计调优

参考:

https://www.cnblogs.com/sanduzxcvbnm/p/12084012.html

a. 根据业务增量需求,采取基于日期模板创建索引,通过 rollover API 滚动索引;(rollover API我会单独写一个代码案例做讲解,公众号:JavaPub)

b. 使用别名进行索引管理;(es的索引名不能改变,提供的别名机制使用非常广泛。)

c. 每天凌晨定时对索引做force_merge操作,以释放空间;

d. 采取冷热分离机制,热数据存储到SSD,提高检索效率;冷数据定期进行shrink操作,以缩减存储;

e. 采取curator进行索引的生命周期管理;

f. 仅针对需要分词的字段,合理的设置分词器;

g. Mapping阶段充分结合各个字段的属性,是否需要检索、是否需要存储等。

进100+原创文章:https://gitee.com/rodert/JavaPub

写入调优

  1. 写入前副本数设置为0;
  2. 写入前关闭refresh_interval设置为-1,禁用刷新机制;
  3. 写入过程中:采取bulk批量写入;
  4. 写入后恢复副本数和刷新间隔;
  5. 尽量使用自动生成的id。

查询调优

  1. 禁用wildcard;(通配符模式,类似于%like%)
  2. 禁用批量terms(成百上千的场景);
  3. 充分利用倒排索引机制,能keyword类型尽量keyword;
  4. 数据量大时候,可以先基于时间敲定索引再检索;
  5. 设置合理的路由机制。

2. elasticsearch 的倒排索引是什么

倒排索引也就是单词到文档的映射,当然不只是存里文档id这么简单。还包括:词频(TF,Term Frequency)、偏移量(offset)、位置(Posting)。

3. elasticsearch 是如何实现 master 选举的

ElasticSearch 的选主是 ZenDiscovery 模块负责,源码分析将首发在。 https://gitee.com/rodert/JavaPub

  1. 对所有可以成为 Master 的节点(node.master: true)根据 nodeId 排序,每次选举每个节点都把自己所知道节点排一次序,然后选出第一个(第0位)节点,暂且认为它是 Master 节点。
  2. 如果对某个节点的投票数达到一定的值(可以成为master节点数n/2+1)并且该节点自己也选举自己,那这个节点就是master。否则重新选举。

(当然也可以自己设定一个值,最小值设定为超过能成为Master节点的n/2+1,否则会出现脑裂问题。discovery.zen.minimum_master_nodes)

4. 描述一下 Elasticsearch 索引文档的过程

在这里插入图片描述
在这里插入图片描述
  1. 客户端向 Node 1 发送新建、索引或者删除请求。
  2. 节点使用文档的 _id 确定文档属于分片 0 。请求会被转发到 Node 3,因为分片 0 的主分片目前被分配在 Node 3 上。
  3. Node 3 在主分片上面执行请求。如果成功了,它将请求并行转发到 Node 1 和 Node 2 的副本分片上。一旦所有的副本分片都报告成功, Node 3 将向协调节点报告成功,协调节点向客户端报告成功。

一图胜千文,记住这幅图,上面是文档在节点间分发的过程,接着说一下文档从接收到写入磁盘过程。

协调节点默认使用文档 ID 参与计算(也支持通过 routing),以便为路由提供合适的分片。

shard = hash(document_id) % (num_of_primary_shards)

  1. 当分片所在的节点接收到来自协调节点的请求后,会将请求写入到 MemoryBuffer,然后定时(默认是每隔 1 秒)写入到 Filesystem Cache,这个从 MomeryBuffer 到 Filesystem Cache 的过程就叫做 refresh;
  2. 当然在某些情况下,存在 Momery Buffer 和 Filesystem Cache 的数据可能会丢失,ES 是通过 translog 的机制来保证数据的可靠性的。其实现机制是接收到请求后,同时也会写入到 translog 中,当 Filesystem cache 中的数据写入到磁盘中时,才会清除掉,这个过程叫做 flush;
  3. 在 flush 过程中,内存中的缓冲将被清除,内容被写入一个新段,段的 fsync将创建一个新的提交点,并将内容刷新到磁盘,旧的 translog 将被删除并开始一个新的 translog。
  4. flush 触发的时机是定时触发(默认 30 分钟)或者 translog 变得太大(默认为 512M)时;
代码语言:shell
AI代码解释
复制
1. translog 可以理解为就是一个文件,一直追加。

2. MemoryBuffer 应用缓存。

3. Filesystem Cache 系统缓冲区。

延伸阅读:Lucene 的 Segement:

Lucene 索引是由多个段组成,段本身是一个功能齐全的倒排索引。

段是不可变的,允许 Lucene 将新的文档增量地添加到索引中,而不用从头重建索引。

对于每一个搜索请求而言,索引中的所有段都会被搜索,并且每个段会消耗CPU 的时钟周、文件句柄和内存。这意味着段的数量越多,搜索性能会越低。

为了解决这个问题,Elasticsearch 会合并小段到一个较大的段,提交新的合并段到磁盘,并删除那些旧的小段。

5. 详细描述一下 Elasticsearch 搜索的过程?

es作为一个分布式的存储和检索系统,每个文档根据 _id 字段做路由分发被转发到对应的shard上。

搜索执行阶段过程分俩个部分,我们称之为 Query Then Fetch。

5.1 query-查询阶段

当一个search请求发出的时候,这个query会被广播到索引里面的每一个shard(主shard或副本shard),每个shard会在本地执行查询请求后会生成一个命中文档的优先级队列。

这个队列是一个排序好的top N数据的列表,它的size等于from+size的和,也就是说如果你的from是10,size是10,那么这个队列的size就是20,所以这也是为什么深度分页不能用from+size这种方式,因为from越大,性能就越低。

es里面分布式search的查询流程如下:

es里面分布式search的查询流程
es里面分布式search的查询流程

查询阶段包含以下三个步骤:

  1. 客户端发送一个 search 请求到 Node 3 , Node 3 会创建一个大小为 from + size 的空优先队列。
  2. Node 3 将查询请求转发到索引的每个主分片或副本分片中。每个分片在本地执行查询并添加结果到大小为 from + size 的本地有序优先队列中。
  3. 每个分片返回各自优先队列中所有文档的 ID 和排序值给协调节点,也就是 Node 3 ,它合并这些值到自己的优先队列中来产生一个全局排序后的结果列表。

5.2 fetch - 读取阶段 / 取回阶段

在这里插入图片描述
在这里插入图片描述

分布式阶段由以下步骤构成:

  1. 协调节点辨别出哪些文档需要被取回并向相关的分片提交多个 GET 请求。
  2. 每个分片加载并 丰富 文档,如果有需要的话,接着返回文档给协调节点。
  3. 一旦所有的文档都被取回了,协调节点返回结果给客户端。

协调节点首先决定哪些文档 确实 需要被取回。例如,如果我们的查询指定了 { "from": 90, "size": 10 } ,最初的90个结果会被丢弃,只有从第91个开始的10个结果需要被取回。这些文档可能来自和最初搜索请求有关的一个、多个甚至全部分片。

协调节点给持有相关文档的每个分片创建一个 multi-get request ,并发送请求给同样处理查询阶段的分片副本。

分片加载文档体-- _source 字段—如果有需要,用元数据和 search snippet highlighting 丰富结果文档。 一旦协调节点接收到所有的结果文档,它就组装这些结果为单个响应返回给客户端。

代码语言:shell
AI代码解释
复制
拓展阅读:

深翻页(Deep Pagination)

---

先查后取的过程支持用 from 和 size 参数分页,但是这是 有限制的 。 要记住需要传递信息给协调节点的每个分片必须先创建一个 from + size 长度的队列,协调节点需要根据 number\_of\_shards \* (from + size) 排序文档,来找到被包含在 size 里的文档。



取决于你的文档的大小,分片的数量和你使用的硬件,给 10,00050,000 的结果文档深分页( 1,0005,000 页)是完全可行的。但是使用足够大的 from 值,排序过程可能会变得非常沉重,使用大量的CPU、内存和带宽。因为这个原因,我们强烈建议你不要使用深分页。



实际上, “深分页” 很少符合人的行为。当2到3页过去以后,人会停止翻页,并且改变搜索标准。会不知疲倦地一页一页的获取网页直到你的服务崩溃的罪魁祸首一般是机器人或者web spider。



如果你 确实 需要从你的集群取回大量的文档,你可以通过用 scroll 查询禁用排序使这个取回行为更有效率,我们会在 later in this chapter 进行讨论。

注:https://www.elastic.co/guide/cn/elasticsearch/guide/current/scroll.html

6. Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法

  1. 关闭缓存swap;

原因:大多数操作系统会将内存使用到文件系统缓存,会将应用程序未用到的内存交换出去。会导致jvm的堆内存交换到磁盘上。交换会导致性能问题。会导致内存垃圾回收延长。会导致集群节点响应时间变慢,或者从集群中断开。

  1. 堆内存设置为:Min(节点内存/2, 32GB);
  2. 设置最大文件句柄数;

后俩点不懂可以先说有一定了解,关注JavaPub会做详细讲解。

  1. 调整线程池和队列大小
  2. 磁盘存储 raid 方式——存储有条件使用 RAID6,增加单节点性能以及避免单节点存储故障。

https://www.elastic.co/cn/blog/how-to-design-your-elasticsearch-data-storage-architecture-for-scale#raid56

7. Elasticsearch 中的节点(比如共 20 个),其中的 10 个选了一个 master,另外 10 个选了另一个 master,怎么办?

  1. 当集群 master 候选数量不小于 3 个时,可以通过设置最少投票通过数量(discovery.zen.minimum_master_nodes)超过所有候选节点一半以上来解决脑裂问题;
  2. 当候选数量为两个时,只能修改为唯一的一个 master 候选,其他作为 data节点,避免脑裂问题。

8. 客户端在和集群连接时,如何选择特定的节点执行请求的?

client 远程连接连接一个 elasticsearch 集群。它并不加入到集群中,只是获得一个或者多个初始化的地址,并以轮询的方式与这些地址进行通信。

9. 详细描述一下 Elasticsearch 更新和删除文档的过程。

  1. 删除和更新也都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更;(根本原因是底层lucene的segment段文件不可更新删除)
  2. 磁盘上的每个段都有一个相应的 .del 文件。当删除请求发送后,文档并没有真 的被删除,而是在 .del 文件中被标记为删除。该文档依然能匹配查询,但是会在 结果中被过滤掉。当段合并时,在.del 文件中被标记为删除的文档将不会被写入 新段。
  3. 在新的文档被创建时,Elasticsearch 会为该文档指定一个版本号,当执行更新 时,旧版本的文档在.del 文件中被标记为删除,新版本的文档被索引到一个新段。

旧版本的文档依然能匹配查询,但是会在结果中被过滤掉。

10. Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

这道题目较难,相信大家看到很多类似这种回答

Elasticsearch 提供的首个近似聚合是cardinality 度量。它提供一个字段的基数,即该字段的distinct或者unique值的数目。它是基于HLL算法的。HLL 会先对我们的输入作哈希运算,然后根据哈希运算的结果中的 bits 做概率估算从而得到基数。其特点是:可配置的精度,用来控制内存的使用(更精确 = 更多内存);小的数据集精度是非常高的;我们可以通过配置参数,来设置去重需要的固定内存使用量。无论数千还是数十亿的唯一值,内存使用量只与你配置的精确度相关。

科普&拓展:

代码语言:shell
AI代码解释
复制
HyperLogLog:

下面简称为HLL,它是 LogLog 算法的升级版,作用是能够提供不精确的去重计数。存在以下的特点:

1. 能够使用极少的内存来统计巨量的数据,在 Redis 中实现的 HyperLogLog,只需要12K内存就能统计2^64个数据。

2. 计数存在一定的误差,误差率整体较低。标准误差为 0.81% 。

3. 误差可以被设置辅助计算因子进行降低。

---

应用场景:

1. 基数不大,数据量不大就用不上,会有点大材小用浪费空间

2. 有局限性,就是只能统计基数数量,而没办法去知道具体的内容是什么

3. 和bitmap相比,属于两种特定统计情况,简单来说,HyperLogLog 去重比 bitmap 方便很多

4. 一般可以bitmap和hyperloglog配合使用,bitmap标识哪些用户活跃,hyperloglog计数

---

应用场景:

1. 基数不大,数据量不大就用不上,会有点大材小用浪费空间

2. 有局限性,就是只能统计基数数量,而没办法去知道具体的内容是什么

3. 和bitmap相比,属于两种特定统计情况,简单来说,HyperLogLog 去重比 bitmap 方便很多

4. 一般可以bitmap和hyperloglog配合使用,bitmap标识哪些用户活跃,hyperloglog计数

来源:刷刷面试

11. 在并发情况下,Elasticsearch 如果保证读写一致?

首先要了解什么是一致性,在分布式系统中,我们一般通过CPA理论分析。

分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容忍性(P:Partition Tolerance),最多只能同时满足其中两项。

分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容忍性(P:Partition Tolerance),最多只能同时满足其中两项。
分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容忍性(P:Partition Tolerance),最多只能同时满足其中两项。
  1. 可以通过版本号使用乐观并发控制,以确保新版本不会被旧版本覆盖,由应用层来处理具体的冲突;
  2. 另外对于写操作,一致性级别支持 quorum/one/all,默认为 quorum,即只有当大多数分片可用时才允许写操作。但即使大多数可用,也可能存在因为网络等原因导致写入副本失败,这样该副本被认为故障,分片将会在一个不同的节点上重建。
  3. 对于读操作,可以设置 replication 为 sync(默认),这使得操作在主分片和副本分片都完成后才会返回;如果设置 replication 为 async 时,也可以通过设置搜索请求参数_preference 为 primary 来查询主分片,确保文档是最新版本。

12. 介绍一下你们的个性化搜索方案?

如果你没有很多实战经验,可以基于 word2vec 做一些练习,我的博客提供了 word2vec Java版的一些Demo。

基于 word2vec 和 Elasticsearch 实现个性化搜索,它有以下优点:

基于word2vec的商品向量还有一个可用之处,就是可以用来实现相似商品的推荐;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Elasticsearch 21道面试题
img客户端向 Node 1 发送新建、索引或者删除请求。 节点使用文档的 _id 确定文档属于分片 0 。请求会被转发到 Node 3,因为分片 0 的主分片目前被分配在 Node 3 上。 Node 3 在主分片上面执行请求。如果成功了,它将请求并行转发到 Node 1 和 Node 2 的副本分片上。一旦所有的副本分片都报告成功, Node 3 将向协调节点报告成功,协调节点向客户端报告成功。
小熊学Java
2023/07/16
1.3K0
Elasticsearch 21道面试题
elastic search面试题_elasticsearch实战
Elasticsearch 是一个基于 Lucene 的搜索引擎。它提供了具有 HTTP Web 界面和无架构 JSON 文档的分布式,多租户能力的全文搜索引擎。 Elasticsearch 是用 Java 开发的,根据 Apache 许可条款作为开源发布。
全栈程序员站长
2022/09/30
6910
elastic search面试题_elasticsearch实战
2022 最新 Elasticsearch 面试题
面试官: 想了解应聘者之前公司接触的 ES 使用场景、 规模, 有没有做过比较大 规模的索引设计、 规划、 调优。
猫头虎
2024/04/07
1640
2022 最新 Elasticsearch 面试题
Elasticsearch7学习笔记之Elasticsearch7面试题
系统中的数据, 随着业务的发展,时间的推移, 将会非常多, 而业务中往往采用模糊查询进行数据的搜索, 而模糊查询会导致查询引擎放弃索引,导致系统查询数据时都是全表扫描,在百万级别的数据库中,查询效率是非常低下的,而我们使用 ES 做一个全文索引,将经常查询的系统功能的某些字段,比如说电商系统的商品表中商品名,描述、价格还有 id 这些字段我们放入 ES 索引库里,可以提高查询速度。
Jetpropelledsnake21
2021/07/14
9100
Elasticsearch7学习笔记之Elasticsearch7面试题
Elasticsearch常见面试题
ES是一种存储和管理基于文档和半结构化数据的数据库(搜索引擎)。它提供实时搜索(ES最近几个版本才提供实时搜索,以前都是准实时)和分析结构化、半结构化文档、数据和地理空间信息数据。
鱼找水需要时间
2023/12/20
5290
Elasticsearch常见面试题
【2022最新Java面试宝典】—— ElasticSearch面试题(31道含答案)
面试官:想了解应聘者之前公司接触的 ES 使用场景、规模,有没有做过比较大规模的索引设计、规 划、调优。
全栈程序员站长
2022/10/02
1K0
【2022最新Java面试宝典】—— ElasticSearch面试题(31道含答案)
两个通宵熬出来的互联网大厂最新面试题收集整理1000道(二-ElasticSearch),欢迎点赞收藏!!!
  最近接触到很多面试相关的内容,所以就专门整理了以下,内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈。 后续会出专门的面试视频专题,欢迎关注。
用户4919348
2021/06/29
5770
2021年春招Elasticsearch面试题
1、可以看到,trie 树每一层的节点数是 26^i 级别的。所以为了节省空间,我们还可以用动态链表,或者用数组来模拟动态。而空间的花费,不会超过单词数×单词长度。2、实现:对每个结点开一个字母集大小的数组,每个结点挂一个链表,使用左儿子右兄弟表示法记录这棵树;3、对于中文的字典树,每个节点的子节点用一个哈希表存储,这样就不用浪费太大的空间,而且查询速度上可以保留哈希的复杂度 O(1)。
zls365
2021/04/23
1.3K0
2021年春招Elasticsearch面试题
ElasticSearch常见面试题汇总
Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。
TimeFriends
2022/06/24
5740
ElasticSearch常见面试题汇总
Elasticsearch之持久化、路由过程、CRUD原理、scroll技术
学习目标 倒排索引是不变的优缺点 Elasticsearch持久化 Elasticsearch如何选择master Elasticsearch索引的过程 Elasticsearch搜索的过程 Elasticsearch更新/删除的过程 Elasticsearch是如何避免脑裂现象 游标查询scroll技术 倒排索引是不变的优缺点 优点: 1、不能修改就不用考虑多个进程同时修改的问题,不会加锁 2、不变性,导致从磁盘加载到内存中可以一直保留着,不用变化,提交查询性能 缺点: 1、不变性,导致要更新一个
丁D
2022/08/12
7800
elasticsearch面试常问问题_java面试题汇总
Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。
全栈程序员站长
2022/10/03
5460
elasticsearch面试常问问题_java面试题汇总
万字长文,理解Elasticsearch和面试总结
约 10+ 索引,5 分片,每日新增数据量约为 2G,4000w 条。记录保存 30 天。
开发者技术前线
2020/11/23
1.1K0
万字长文,理解Elasticsearch和面试总结
ES 面试题
可以通过版本号使用乐观并发控制,以确保新版本不会被旧版本覆盖,由应用层来处理具体的冲突; 另外对于写操作,一致性级别支持quorum/one/all,默认为quorum,即只有当大多数分片可用时才允许写操作。但即使大多数可用,也可能存在因为网络等原因导致写入副本失败,这样该副本被认为故障,分片将会在一个不同的节点上重建。 对于读操作,可以设置replication为sync(默认),这使得操作在主分片和副本分片都完成后才会返回;如果设置replication为async时,也可以通过设置搜索请求参数_preference为primary来查询主分片,确保文档是最新版本。
Tim在路上
2020/08/05
7560
【愚公系列】2021年11月 Elasticsearch数据库-面试题
1、可以看到,trie 树每一层的节点数是 26^i 级别的。所以为了节省空间,我们 还可以用动态链表,或者用数组来模拟动态。而空间的花费,不会超过单词数×单 词长度。 2、实现:对每个结点开一个字母集大小的数组,每个结点挂一个链表,使用左儿子右兄弟表示法记录这棵树; 3、对于中文的字典树,每个节点的子节点用一个哈希表存储,这样就不用浪费太大的空间,而且查询速度上可以保留哈希的复杂度 O(1)。
愚公搬代码
2021/12/03
1.1K0
【愚公系列】2021年11月 Elasticsearch数据库-面试题
2019年常见ElasticSearch面试题解析(上)
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
程序员追风
2019/12/25
8670
2019年常见ElasticSearch面试题解析(上)
Elasticsearch面试题(2021最新版)
随着企业对近实时搜索的迫切需求,Elasticsearch 受到越来越多的关注,无论是阿里、腾讯、京东等互联网企业,还是平安、顺丰等传统企业都对 Elasticsearch 有广泛的使用,但是在 Elasticsearch 6.8 发布以前,大部分 Elasticsearch 功能都是付费的,开源版本的 Elasticsearch 在集群管控方面能力有限,鉴于此,通用的实施方案就是给 Elasticsearch 添加一层网关,从而实现对 Elasticsearch 的管控。
Java程序猿
2021/05/05
4.2K0
2022年Java秋招面试,程序员求职必看的Elasticsearch 面试题
随着企业对近实时搜索的迫切需求,Elasticsearch 受到越来越多的关注,无论是阿里、腾讯、京东等互联网企业,还是平安、顺丰等传统企业都对 Elasticsearch 有广泛的使用,但是在 Elasticsearch 6.8 发布以前,大部分 Elasticsearch 功能都是付费的,开源版本的 Elasticsearch 在集群管控方面能力有限,鉴于此,通用的实施方案就是给 Elasticsearch 添加一层网关,从而实现对 Elasticsearch 的管控。
Java程序猿
2022/07/01
5800
2021-Java后端工程师面试指南-(Elasticsearch)
面试指南系列,很多情况下不会去深挖细节,是小六六以被面试者的角色去回顾知识的一种方式,所以我默认大部分的东西,作为面试官的你,肯定是懂的。
用户9927510
2022/07/29
3830
ElasticSearch技术原理
ES将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合,类比传统关系型数据库的一个数据库(database),或者一个数据存储方案(schema)。索引由其名称(必须全小写字符)进行标识,并通过引用此名称完成文档的创建、搜索、更新及删除操作。
爱撸猫的杰
2020/03/24
5730
ElasticSearch技术原理
大数据ELK(十一):Elasticsearch架构原理
在Elasticsearch有两类节点,一类是Master,一类是DataNode。
Lansonli
2021/10/11
7330
大数据ELK(十一):Elasticsearch架构原理
推荐阅读
相关推荐
Elasticsearch 21道面试题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档