ElasticSearch 架构

lucene如何实现准实时索引?

Lucene 把每次生成的倒排索引,叫做一个段(segment)。然后另外使用一个 commit 文件,记录索引内所有的 segment。而生成 segment 的数据来源,则是内存中的 buffer。也就是说,动态更新过程如下

当前索引有 3 segment 可用。索引状态如图

https://i-blog.csdnimg.cn/blog_migrate/36dce4793ee05032a57fe58e20b49115.webp?x-image-process=image/format,png

新接收的数据进入内存 buffer。索引状态如图 

https://i-blog.csdnimg.cn/blog_migrate/affde88a8775c38f42a75809c6d1c6b1.webp?x-image-process=image/format,png

既然涉及到磁盘,那么一个不可避免的问题就来了:磁盘太慢了!对我们要求实时性很高的服务来说,这种处理还不够。所以,在第 3 步的处理中,还有一个中间状态:

https://i-blog.csdnimg.cn/blog_migrate/ce0136cb1841960938f2afe9011aaeca.webp?x-image-process=image/format,png

内存 buffer 刷到磁盘,生成一个新的 segmentcommit 文件同步更新。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值