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协议
相关推荐
远方16091 分钟前
61-Oracle SQL Monitor-实操
大数据·数据库·sql·oracle·database
云云32110 分钟前
Subway Surfers Blast × 亚矩阵云手机:手游矩阵运营的终极变现方案
大数据·人工智能·线性代数·智能手机·矩阵·架构
黑客笔记21 分钟前
Bugku-CTF-web
大数据·前端·深度学习·web安全
25405465201 小时前
710SJBH基于Apriori算法的学籍课程成绩关联规则挖掘研究
大数据·算法·spark
优秀1354 小时前
JDBC
数据库
@十八子德月生6 小时前
第十章——8天Python从入门到精通【itheima】-99~101-Python基础综合案例-数据可视化(案例介绍=JSON格式+pyecharts简介)
大数据·python·信息可视化·pycharm·echarts·数据可视化
网硕互联的小客服8 小时前
高并发下分布式数据库性能下降的解决方法
数据库·分布式
远方160910 小时前
59-Oracle 10046事件-知识准备
大数据·数据库·sql·oracle·database
静听山水10 小时前
PostgreSQL/Hologres 外部数据包装器系统表 pg_foreign_data_wrapper 详解
数据库·postgresql
神洛华10 小时前
SQL Server基础语句1:基础查询、数据筛选 / 排序 、分组聚合
数据库·sql