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协议
相关推荐
Capricorn1988几秒前
知芽研究问题看板无法推进?从孵化区到笔记的机制排查指南
大数据·论文阅读·人工智能·笔记·学习方法·论文笔记
凡科网小帆20 分钟前
2026小程序商城平台哪家强,小程序商城平台选型怎么做
大数据·小程序·小程序商城平台
Rain的Java大神之路26 分钟前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
Nturmoils32 分钟前
给运营导个 CSV,在 ksql 里用 \copy 就够了
数据库
睿本云35 分钟前
从“有数据”到“会用数据”,一次标签体系的升级能带来的改变
大数据·人工智能
牛奶咖啡1342 分钟前
大数据Hadoop运维应用实践——Hadoop平台常见问题与故障汇总、系统调优、网络规划与硬件存储选型
大数据·hadoop·hadoop集群操作系统调优·hadoop集群运维问题汇总·hadoop集群硬件规划·大数据平台网络规划·大数据平台硬件存储选型
ciqingloveless43 分钟前
Oracle打开数据库加密
数据库·oracle
m0_462605221 小时前
大模型week02
数据库
MEIXIFU11 小时前
便利店实际经营面积怎么选最合适
大数据·人工智能·物联网·生活·迭代加深
DBA_G1 小时前
GBase 8a数据库集群多维度资源管控策略矩阵解析
数据库·oracle