本文我们深入了解关于Elasticsearch存储,如我们写入Elasticsearch的数据是如何在节点上存储的。
Elasticsearch的路径
Elasticsearch主要有以下路径:
- path.home:运行Elasticsearch进程的用的的home目录,默认为Java系统属性user.dir
- path.conf:Elasticsearch的配置文件目录
- path.plugins:Elasticsearch安装第三方插件的目录
- path.work:Elasticsearch存放工作和临时文件的目录,现在已经弃用
- path.logs:存放Elasticsearch日志目录
- path.data:存放Elasticsearch数据目录
本文我们详细研究path.data目录存储结构。
path.data存储详情
由于Elasticsearch的底层是基于Lucene的,所以path.data索引文件中的主要是由Lucene产生。Elasticsearch与Lucene各自有各自的分工。Lucene主要负责编写和维护索引文件,Elasticsearch则是在Lucene的基础之上维护元数据信息,比如Mapping和集群状态等。一些Lucene做不到的功能则由Elasticsearch来弥补。