官方定义
使用案例
整体架构
如下图:
从以下架构图大概可以了解以下几点:
基本概念
如下图:
1,Cluster(集群)与Node(节点)
Cluster(集群):
在一个分布式系统里面,可以通过多个elasticsearch运行实例组成一个集群,这个集群里面有一个节点叫做主节点(master),elasticsearch是去中心化的,所以这里的主节点是动态选举出来的,不存在单点故障。
在同一个子网内,只需要在每个节点上设置相同的集群名,elasticsearch就会自动的把这些集群名相同的节点组成一个集群。节点和节点之间通讯以及节点之间的数据分配和平衡全部由elasticsearch自动管理。
在外部看来elasticsearch就是一个整体。
Node(节点):
每一个运行实例称为一个节点,每一个运行实例既可以在同一机器上,也可以在不同的机器上。所谓运行实例,就是一个服务器进程,在测试环境中可以在一台服务器上运行多个服务器进程,在生产环境中建议每台服
器运行一个服务器进程。
2,Index(索引)
类似于sql server中的数据库(database)。
3,Type(类型)
类似于sql server中的数据表(table),es可以在一个Index中建立多个Type,其中每个Type中的数据结构可以是不同的,然后通过mapping进行映射。
4,Document(文档)
类似于sql server中的行(row),es中存储的数据是文档型的, 一条数据对应一个文档即相当于sql server中的一行,一个document可以有多个字段。
5,Field(字段)
类似于sql server数据表中的列(column)。
6,Mapping(映射)
类似于sql server中的schema。
7,Query DSL
类似于sql server中的sql语句,只不过在es中使用JSON格式的查询语句,专业术语就叫:Query DSL
8,PUT/POST/DELETE/GET
RESTful API,分别对应新增,修改,删除和查询。