(二)elasticsearch 源码目录
在阅读源码之前,我们先来看看整个项目的结构:(同(一)elasticsearch 编译和启动,我们使用版本7.4.0作为示例)
.ci,持续集成配置
.github, 里面有 PULL_REQUEST_TEMPLATE.md,是关于pr规范的介绍
benchmarks, 标准测试套件
build开头的目录,是编译相关的配置
client,es【代指elasticsearch,下同】 客户端代码,用得最多的是包rest-high-level下的类
dev-tools, 一些 python开发工具
distribution,发布包,包括各个平台的,还包括docker
docs,文档
libs,es依赖的一些子库,有客户端cli,grok(一种类似正则的过滤器),pulgin-classloader(插件加载器)
licenses, 证书,有apache证书,es自己的证书
modules,es依赖的一些组件,非常重要
plugins, 插件,也可以自定义插件,我们最常用的有ik插件
qa,质量检测套件
rest-api-spec,描述 rest api的一些json文件
server, 核心代码库,启动类 org.elasticsearch.bootstrap.Elasticsearch 在此包中
x-pack,一些闭源特性代码,结合elk套件使用,是收费的
CONTRIBUTING.md, 如何贡献代码