Elasticsearch 常用操作命令整合 (cURL 版本)

Elasticsearch 常用操作命令整合 (cURL 版本)

集群管理

查看集群健康状态

bash 复制代码
curl -X GET "localhost:9200/_cluster/health?pretty"

查看节点信息

bash 复制代码
curl -X GET "localhost:9200/_cat/nodes?v"

查看集群统计信息

bash 复制代码
curl -X GET "localhost:9200/_cluster/stats?human&pretty"

索引操作

创建索引

bash 复制代码
curl -X PUT "localhost:9200/index_name" -H 'Content-Type: application/json' -d'
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "field1": { "type": "text" },
      "field2": { "type": "keyword" }
    }
  }
}
'

查看所有索引

bash 复制代码
curl -X GET "localhost:9200/_cat/indices?v"

查看特定索引信息

bash 复制代码
curl -X GET "localhost:9200/index_name?pretty"

删除索引

bash 复制代码
curl -X DELETE "localhost:9200/index_name"

关闭/打开索引

bash 复制代码
curl -X POST "localhost:9200/index_name/_close"
curl -X POST "localhost:9200/index_name/_open"

文档操作

索引/创建文档

bash 复制代码
curl -X POST "localhost:9200/index_name/_doc" -H 'Content-Type: application/json' -d'
{
  "field1": "value1",
  "field2": "value2"
}
'

curl -X PUT "localhost:9200/index_name/_doc/1" -H 'Content-Type: application/json' -d'
{
  "field1": "value1",
  "field2": "value2"
}
'

获取文档

bash 复制代码
curl -X GET "localhost:9200/index_name/_doc/1?pretty"

更新文档

bash 复制代码
curl -X POST "localhost:9200/index_name/_update/1" -H 'Content-Type: application/json' -d'
{
  "doc": {
    "field1": "new_value"
  }
}
'

删除文档

bash 复制代码
curl -X DELETE "localhost:9200/index_name/_doc/1"

批量操作

bash 复制代码
curl -X POST "localhost:9200/_bulk" -H 'Content-Type: application/json' -d'
{ "index" : { "_index" : "index_name", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "index_name", "_id" : "2" } }
{ "create" : { "_index" : "index_name", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "index_name"} }
{ "doc" : {"field2" : "value2"} }
'

搜索操作

简单搜索

bash 复制代码
curl -X GET "localhost:9200/index_name/_search" -H 'Content-Type: application/json' -d'
{
  "query": {
    "match": {
      "field1": "search_term"
    }
  }
}
'

复合查询

bash 复制代码
curl -X GET "localhost:9200/index_name/_search" -H 'Content-Type: application/json' -d'
{
  "query": {
    "bool": {
      "must": [
        { "match": { "field1": "value1" } },
        { "range": { "field2": { "gte": 10 } } }
      ]
    }
  }
}
'

聚合查询

bash 复制代码
curl -X GET "localhost:9200/index_name/_search" -H 'Content-Type: application/json' -d'
{
  "aggs": {
    "agg_name": {
      "terms": { "field": "field2" }
    }
  }
}
'

索引别名

创建别名

bash 复制代码
curl -X POST "localhost:9200/_aliases" -H 'Content-Type: application/json' -d'
{
  "actions": [
    {
      "add": {
        "index": "index_name",
        "alias": "alias_name"
      }
    }
  ]
}
'

切换别名

bash 复制代码
curl -X POST "localhost:9200/_aliases" -H 'Content-Type: application/json' -d'
{
  "actions": [
    { "remove": { "index": "old_index", "alias": "alias_name" } },
    { "add": { "index": "new_index", "alias": "alias_name" } }
  ]
}
'

索引模板

创建索引模板

bash 复制代码
curl -X PUT "localhost:9200/_template/template_name" -H 'Content-Type: application/json' -d'
{
  "index_patterns": ["pattern*"],
  "settings": {
    "number_of_shards": 1
  },
  "mappings": {
    "properties": {
      "field1": { "type": "text" }
    }
  }
}
'

数据迁移

使用_reindex API

bash 复制代码
curl -X POST "localhost:9200/_reindex" -H 'Content-Type: application/json' -d'
{
  "source": {
    "index": "old_index"
  },
  "dest": {
    "index": "new_index"
  }
}
'

常用_cat API

查看分片分配

bash 复制代码
curl -X GET "localhost:9200/_cat/shards?v"

查看任务

bash 复制代码
curl -X GET "localhost:9200/_cat/tasks?v"

查看插件

bash 复制代码
curl -X GET "localhost:9200/_cat/plugins?v"

查看线程池

bash 复制代码
curl -X GET "localhost:9200/_cat/thread_pool?v"

认证相关 (如果启用了安全功能)

带基本认证的请求

bash 复制代码
curl -u username:password -X GET "localhost:9200/_cluster/health?pretty"

带API密钥的请求

bash 复制代码
curl -H "Authorization: ApiKey your_api_key" -X GET "localhost:9200/_cluster/health?pretty"

注意:

  1. 默认使用localhost:9200,如果ES运行在其他主机或端口,请相应修改
  2. 如果启用了安全功能,需要添加认证信息
  3. 对于生产环境,建议使用HTTPS协议
相关推荐
多客:duokelijie11 分钟前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
PingCAP12 分钟前
平凯星辰上榜!2026 年胡润全球独角兽企业
数据库
PingCAP14 分钟前
轨道交通 AFC 系统升级,平凯 Loop 把跨部门协同变成可追溯闭环
数据库
迅易科技17 分钟前
数据质量治理:从异常告警走向自动化根因诊断
大数据
组工部管理能手李哥20 分钟前
一次政务知识库体验:AI回答之外,我更在意那行引用来源
大数据·人工智能·大模型·政务
GrowingIO技术社区1 小时前
SaaS与私有化部署怎么比较?责任、集成与成本
大数据·数据挖掘·产品
GrowingIO技术社区1 小时前
CDP项目如何评估?从业务问题到能力测试
大数据·数据分析
m0_715674431 小时前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
大数据·网络·人工智能·安全·网络安全·政务
java_logo1 小时前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
GrowingIO技术社区3 小时前
多端用户身份怎么统一?OneID规则与验收清单
大数据·数据挖掘·数据分析