ElasticSearch是大型架构核心,下面我详解ElasticSearch命令@mikechen
1、查看集群状态
GET /_cluster/health
返回结果:
{
"cluster_name": "es-cluster",
"status": "green",
"number_of_nodes": 3
}
状态说明:
| 状态 | 含义 |
|---|---|
| green | 正常 |
| yellow | 副本未分配 |
| red | 主分片丢失 |
2、查看节点信息
GET /_cat/nodes?v
输出:
ip heap.percent cpu load_1m node.role master name
10.0.0.1 35 10 0.25 dimr * node-1
常用于:
- 查看节点数量
- 查看CPU使用率
- 查看内存占用
3、查看集群统计信息
GET /_cluster/stats
查看:
- 节点数量
- 索引数量
- 文档数量
- 存储容量
三、索引管理命令
4、创建索引
PUT /user
指定分片:
PUT /user
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
}
}
5、查看所有索引
GET /_cat/indices?v
输出:
health status index docs.count store.size
green open user 10000 25mb
线上排查最常用。6、查看索引详情
GET /user
查看:
- Mapping
- Settings
- Alias
7、删除索引
DELETE /user
注意:删除后数据无法恢复。生产环境慎用。四、文档操作命令
8、新增文档
POST /user/_doc/1
{
"name":"Tom",
"age":18
}
返回:
{
"_id":"1",
"result":"created"
}
9、查询文档
根据ID查询:
GET /user/_doc/1
返回:
{
"_source":{
"name":"Tom",
"age":18
}
}
10、更新文档
POST /user/_update/1
{
"doc":{
"age":20
}
}
结果:
{
"result":"updated"
}
11、删除文档
DELETE /user/_doc/1
返回:
{
"result":"deleted"
}
五、搜索查询命令
12、查询所有数据
GET /user/_search
{
"query":{
"match_all":{}
}
}
结果:
{
"hits":{
"total":{
"value":10000
}
}
}
13、条件查询
查询姓名包含Tom:
GET /user/_search
{
"query":{
"match":{
"name":"Tom"
}
}
}
类似SQL:
select * from user where name='Tom';
14、分页查询
GET /user/_search
{
"from":0,
"size":10,
"query":{
"match_all":{}
}
}
对应:
limit 0,10
15、排序查询
按年龄降序:
GET /user/_search
{
"sort":[
{
"age":"desc"
}
]
}
结果:
30
28
25
20
16、聚合统计查询
统计平均年龄:
GET /user/_search
{
"aggs":{
"avg_age":{
"avg":{
"field":"age"
}
}
}
}
返回:
{
"aggregations":{
"avg_age":{
"value":26.8
}
}
}
类似SQL:
select avg(age) from user;