elasticsearch 可以干什么,elasticsearch是怎么存储的

首页 > 经验 > 作者:YD1662022-11-04 04:40:27

为了提高效率,ElasticSearch可以将索引下某一个Document Value全部读取到内存中进行操作,这大大提升访问速度,但是也同时会消耗掉大量的内存空间。

总之,这些数据结构Inverted Index、Stored Fields、Document Values及其缓存,都在segment内部。

搜索发生时

搜索时,Lucene会搜索所有的segment然后将每个segment的搜索结果返回,最后合并呈现给客户。

Lucene的一些特性使得这个过程非常重要:

缓存的故事

当ElasticSearch索引一个文件的时候,会为文件建立相应的缓存,并且会定期(每秒)刷新这些数据,然后这些文件就可以被搜索到。

elasticsearch 可以干什么,elasticsearch是怎么存储的(17)

随着时间的增加,我们会有很多segments,

elasticsearch 可以干什么,elasticsearch是怎么存储的(18)

所以ElasticSearch会将这些segment合并,在这个过程中,segment会最终被删除掉

elasticsearch 可以干什么,elasticsearch是怎么存储的(19)

这就是为什么增加文件可能会使索引所占空间变小,它会引起merge,从而可能会有更多的压缩。

举个栗子

有两个segment将会merge

elasticsearch 可以干什么,elasticsearch是怎么存储的(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.