Elasticsearch面试题

本文深入探讨了Elasticsearch中索引文档的步骤,包括数据接收、分析、存储和分片分配等关键环节,对于理解Elasticsearch的数据处理流程具有重要意义。
摘要由CSDN通过智能技术生成

1.详细描述一下Elasticsearch索引文档的过程

协调节点默认使用文档 ID 参与计算(也支持通过 routing ),以便为路由提供合适的分片。
shard = hash(document_id) % (num_of_primary_shards)
当分片所在的节点接收到来自协调节点的请求后,会将请求写入到 Memory Buffffer ,然后定时(默认是每隔 1
秒)写入到 Filesystem Cache ,这个从 Momery Buffffer Filesystem Cache 的过程就叫做 refresh
当然在某些情况下,存在 Momery Buffffer Filesystem Cache 的数据可能会丢失, ES 是通过 translog 的机制来
保证数据的可靠性的。其实现机制是接收到请求后,同时也会写入到 translog 中,当 Filesystem cache 中的数据
写入到磁盘中时,才会清除掉,这个过程叫做 flflush
flflush 过程中,内存中的缓冲将被清除,内容被写入一个新段,段的 fsync 将创建一个新的提交点,并将内容刷
新到磁盘,旧的 translog 将被删除并开始一个新的 translog
flflush 触发的时机是定时触发(默认 30 分钟)或者 translog 变得太大(默认为 512M )时;
2. 详细描述一下 Elasticsearch 更新和删除文档的过程。
删除和更新也都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更;
磁盘上的每个段都有一个相应的 .del 文件。当删除请求发送后,文档并没有真的被删除,而是在 .del
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值