Elasticsearch架构:
1.gateway是es用来存储index的文件系统,文件系统支持多种类型:local filesystem、shared filesystem 共享文件系统、hdfs、s3
2. gateway的上一层是lucene框架,es底层api是由lucene提供的,每一个es节点上都有一个lucene引擎支持
3. lucene上是es模块,包括index model、search model、mapping model等。river相当于第三方插件,用来导入第三方数据源,在2.x之后已经不再使用
4. es模块之上是discovery、scripting和第三方插件。discovery负责节点发现,不通机器上的es节点要组成集群需要进行消息通信,集群内部需要选举master节点。
5. 再上层是es的传输模块和jmx,jmx支持thrift、http等传输
6. 最上层是es提供给用户的接口、通过api和es集群交互
Elasticsearch核心概念:
集群cluster:
多个相同集群名的es节点组织在一起,并提供搜索服务
节点node:
集群中的多个节点服务器(服务)
索引 index:
一个拥有相似特征文档的集合,索引的数据结构依然是倒排索引。索引做动词讲的时候表示索引数据和对数据进行索引操作。
类型 type:
一个索引中,你可以定义一种或者多种类型。一个类型是你的索引的一个逻辑上的分类。
文档 docmount:
文档是可被缩影的基础信息单元。
分片 :
将索引划分成多个多份的能力,其中每一份就是一个分片。
副本:
一个分片的多份拷贝