es建索引写入数据,数据最先是存在内存buffer里的,然后再刷入到lucene的底层文件segment中;写入segment完毕后再执行refresh操作,refresh操作后,数据将commit到磁盘中。数据刷入到了磁盘,就可以执行查询操作了。
过程简单描述如下:内存buffer-->segment-->refresh-->磁盘
注意,这些过程,会有translog记录;translog存在的意义就是保证数据刷入的可靠性;因为我们刚才说过,es建索引写入数据的过程是内存到磁盘的过程,这个过程有日志的记录,那就是translog,当数据还在内存里没刷到磁盘中时,如果服务器down了又没translog机制的话,那么数据就会丢失,有了translog,服务器down机后再起来,就能很快恢复写入的过程。
这里要注意的是,translog也是先存在内存里的,然后默认5秒刷一次写到硬盘里。
最后,这里分享一套elasticsearch经典入门视频:
链接:http://pan.baidu.com/s/1qYrgyPe 密码:s9sr
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。