es的curl命令怎么写

curl命令向Elasticsearch发送请求,通常格式为:`curl -X “” -H “Content-Type:

Elasticsearch(ES)Curl 命令详解

Elasticsearch(简称 ES)是一款开源的分布式搜索和分析引擎,常用于处理大规模数据的实时搜索、分析和可视化,通过 curl 命令,用户可以方便地与 ES 集群进行交互,执行各种操作,如创建索引、插入文档、查询数据等,本文将详细介绍常用的 ES curl 命令及其用法,帮助用户快速上手。


基本语法

ES 的 curl 命令遵循 HTTP 协议,基本格式如下:

curl -X <HTTP_METHOD> "http://<ES_HOST>:<PORT>/<INDEX>/<DOCUMENT_TYPE>/<ID>?<QUERY_PARAMS>" -H "Content-Type: application/json" -d '<JSON_BODY>'

参数说明

参数 说明
-X <METHOD> HTTP 方法(如 GET、POST、PUT、DELETE)
<ES_HOST> ES 集群的主机地址(如 localhost168.1.100
<PORT> ES 服务的端口号(默认是 9200
<INDEX> 索引名称
<DOCUMENT_TYPE> 文档类型(ES 7.x 后已弃用,可省略)
<ID> 文档 ID(可选,用于指定或获取特定文档)
<QUERY_PARAMS> 查询参数(如 q=keyword
-H HTTP 头信息(如 Content-Type: application/json
-d 请求体(通常为 JSON 格式)

常用命令示例

检查 ES 集群状态

命令:

curl -X GET "http://localhost:9200/_cluster/health?pretty"

说明:

  • 检查集群的健康状态。
  • pretty 参数用于美化 JSON 输出。

响应示例:

{
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 1,
  "active_shards" : 1,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "stale_primaries" : 0,
  "total_shards_per_node" : {
    "node_id" : [
      1
    ]
  }
}

创建索引

命令:

curl -X PUT "http://localhost:9200/my_index" -H "Content-Type: application/json" -d '{
  "settings": {
    "number_of_shards": 1
  },
  "mappings": {
    "properties": {
      "name": { "type": "text" },
      "age": { "type": "integer" },
      "email": { "type": "keyword" }
    }
  }
}'

说明:

  • my_index 是索引名称。
  • settings 定义分片数等配置。
  • mappings 定义字段类型。

插入文档

命令:

curl -X POST "http://localhost:9200/my_index/_doc/1" -H "Content-Type: application/json" -d '{
  "name": "Alice",
  "age": 25,
  "email": "alice@example.com"
}'

说明:

  • _doc 表示文档类型(ES 7.x 后可省略)。
  • 1 是文档 ID,可自动生成(省略 ID 时由 ES 分配)。

获取文档

命令:

curl -X GET "http://localhost:9200/my_index/_doc/1?pretty"

说明:

  • 获取 ID 为 1 的文档。
  • pretty 参数美化 JSON 输出。

更新文档

命令:

curl -X POST "http://localhost:9200/my_index/_update/1" -H "Content-Type: application/json" -d '{
  "doc": {
    "age": 26
  }
}'

说明:

  • 使用 _update API 更新文档。
  • doc 字段指定要更新的内容。

删除文档

命令:

curl -X DELETE "http://localhost:9200/my_index/_doc/1"

说明:

  • 删除 ID 为 1 的文档。

搜索文档

命令:

curl -X GET "http://localhost:9200/my_index/_search?q=name:Alice&pretty"

说明:

  • q=name:Alice 是查询条件,搜索 name 字段为 Alice 的文档。
  • pretty 参数美化 JSON 输出。

删除索引

命令:

curl -X DELETE "http://localhost:9200/my_index"

说明:

  • 删除整个索引及其所有文档。

常见问题与解答

问题 1:如何查看 ES 中所有索引?

解答:
使用以下命令查看所有索引:

curl -X GET "http://localhost:9200/_cat/indices?v"

说明:

  • _cat/indices 是 ES 的 Cat API,用于查看索引信息。
  • ?v 参数添加列标题。

问题 2:如何设置文档的刷新间隔?

解答:
在创建索引时,可以通过 settings 设置 refresh_interval

curl -X PUT "http://localhost:9200/my_index" -H "Content-Type: application/json" -d '{
  "settings": {
    "number_of_shards": 1,
    "refresh_interval": "30s"
  },
  "mappings": {
    "properties": {
      "name": { "type": "text" }
    }
  }
}'

说明:

  • refresh_interval 控制 ES 刷新索引的频率,默认是 1s
  • 设置为 30s 表示每 30 秒刷新一次。

通过 curl 命令,用户可以灵活地与 Elasticsearch 进行交互,执行各种操作,掌握常用命令及其参数,能够大大提高数据处理的效率。

以上就是关于“es的curl命令怎么写”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/10598.html

(0)
酷番叔酷番叔
上一篇 14小时前
下一篇 14小时前

相关推荐

  • 命令补齐如何提升效率?

    命令补齐极大提升命令行效率:减少输入量避免拼写错误,自动补全路径、命令和参数提高准确性,同时帮助用户发现和学习可用命令,显著优化操作体验。

    2025年7月5日
    2100
  • CAD快捷键如何重置为初始设置?

    在AutoCAD中恢复默认快捷键:通过“选项”对话框的“文件”选项卡重置CUIx文件,或手动删除/重命名用户自定义的PGP文件(如acad.pgp),重启软件后自动生成默认设置。

    2025年7月21日
    1300
  • 如何秒开状态栏功能?

    在AutoCAD 2012中,若希望命令提示和输入内容直接显示在光标附近(而非传统的命令行窗口),需启用动态输入(Dynamic Input)功能,此功能将坐标、命令选项和参数实时显示在光标旁,大幅提升绘图效率,具体操作步骤如下:定位状态栏:在AutoCAD 2012界面底部找到状态栏(通常包含栅格、捕捉、正交……

    2025年6月27日
    2800
  • 如何将file.log修改时间设为2025年元旦?

    touch命令在Linux和Unix系统中用于修改文件的时间戳(访问时间、修改时间),或创建新文件,其中-d选项(或–date)允许用户自定义时间戳,而非默认的当前时间,下面详细介绍其用法:-d选项的核心作用通过-d,可指定任意日期/时间格式,精确控制文件的时间戳,语法如下:touch -d "时间……

    2025年7月30日
    900
  • 如何在Android设备运行ADB命令?

    环境准备(计算机端)安装ADB工具官方途径:下载 Android SDK Platform-Tools(Google 官方链接)解压后获得 adb.exe (Windows) 或 adb (macOS/Linux) 文件配置系统环境变量Windows:右键“此电脑” → 属性 → 高级系统设置 → 环境变量……

    2025年7月15日
    2100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信