1、Indices 索引,类似于mysql的Databases
2、Types 类型,类似于mysql的Tables
3、Documents 文档。类似于mysql的Row
4、Fields 域,字段,类似于Column
5、schema mapping:所有文档写进索引之前都会先进行分析,如何将输入的文本分割为词条、哪些词条又会被过滤,这种行为叫做映射(mapping)。一般由用户自己定义规则。定义后续数据如何建立索引,会定义数据的类型、是否索引、是否存储等,已有数据要改变映射关系需要reindex,mapping在整个index内有效(type不能作为作用域)。索引类型:analyzed 全文检索,not_analyzed:精确字符串匹配
6、shard:index的子部分,内部对应一个lucene,不同shard分布式存储,index的切分与合并是透明的
7、replica:对于shard的备份,主从切换时透明化的
8、节点:单个ElasticSearch 进程实例被称为节点(Node),数据访问量很大,单机无法应付,就需要多个ElasticeSearch实例,构成一个集群。
节点分为三类:
1>数据节点 持有数据,提供对这些数据的搜索功能。
2>主(master)节点,作为监督者负责控制其他节点的工作,一个集群只有一个主节点。
3>部落节点(tribe)作为桥梁,负责连接多个集群,并允许我们再多个集群工作。
9、集群:多个ElasticSearch 实例的集合称为集群。
10、数据源(River):如db、消息队列等
11、网关(gateway):文件系统、hdfs、s3等
12、通信(Transport)
代表es内部节点或集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时它支持http协议(json格式)、thrift、servlet、memcached、zeroMQ等的传输协议(通过插件方式集成)。
总结:
逻辑结构:
index type document field
物理结构:
shard replica node cluster