ES原理
一 基本定义
index(索引)
相当于mysql中的数据库
type(类型)
相当于mysql中的一张表
document(文档)
相当于mysql中的一行(一条记录)
field(域)
相当于mysql中的一列(一个字段)
分片
将一份数据划分为多小份的能力,允许水平分割和扩展容量。多个分片可以响应请求,提高性能和吞吐量。
副本
复制数据,一个节点出问题时,其余节点可以顶上。
二 url请求构造
/_search
在所有的索引中搜索所有的类型
/gb/_search
在 gb 索引中搜索所有的类型
/gb,us/_search
在 gb 和 us 索引中搜索所有的文档
/g*,u*/_search
在任何以 g 或者 u 开头的索引中搜索所有的类型
/gb/user/_search
在 gb 索引中搜索 user 类型
/gb,us/user,tweet/_search
在 gb 和 us 索引中搜索 user 和 tweet 类型
/_all/user,tweet/_search
在所有的索引中搜索 user 和 tweet 类型
三 通过web界面插入数据
构造put函数即可
name put
{
"settings": {
"index": {
"number_of_shards": 5, //分片个数
"number_of_replicas": 1 //分片的副本,1代表每个节点存一份副本
}
}
}
通过这个我们可以发现,插入ES中数据需要指定分库个数和分片的副本集
四 健康检测
1 es-cluster 右端 是健康检测 绿色为健康 黄色为故障 红色为不可用
2 容忍节点故障为 2XN+1 N为故障节点 三个节点可以容忍1个节点故障