ElasticSearch命令最全详解(2026最新版)

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;

评论交流
    说说你的看法