【我的开源】ESCurlGen 一款 ElasticSearch curl 命令生成器

由于经常编写复杂的 Elasticsearch 查询,并通过代码生成查询条件,我发现每次使用 curl 请求 Elasticsearch 时,手动复制配置信息并构建 curl 命令的过程非常繁琐,尤其是在管理多个环境的情况下更为不便。因此,我利用 AI 技术开发了一款 Web 工具,经过一系列优化和改进,该工具能够智能拼接配置信息,自动生成完整的 Elasticsearch curl 命令,极大提升了工作效率。

访问地址可直接使用(需科学上网) https://avidbyte.github.io/ESCurlGen/

功能介绍 测试示例 my_user_index 索引

1.创建索引

json 复制代码
{
  "mappings": {
    "properties": {
      "id": { "type": "keyword" },
      "name": { "type": "text", "fields": { "keyword": { "type": "keyword" } } },
      "phone": { "type": "text", "fields": { "keyword": { "type": "keyword" } } },
      "birthday": { "type": "date" },
      "createTime": { "type": "date" }
    }
  }
}

2.新增索引字段

json 复制代码
{
  "properties": {
    "address": { "type": "text", "fields": { "keyword": { "type": "keyword" } } }
  }
}

3.查询 settings

4.查询 Mapping

5.新增数据

json 复制代码
{
  "id": "1",
  "name": "John Doe",
  "phone": "123-456-7890",
  "birthday": "1990-01-01",
  "createTime": "2023-10-10T08:00:00Z",
  "address": "123 Main St"
}
json 复制代码
{
  "id": "2",
  "name": "Jane Smith",
  "phone": "098-765-4321",
  "birthday": "1985-05-05",
  "createTime": "2023-10-11T09:00:00Z",
  "address": "456 Oak Ave"
}

6.批量操作(批量新增)

json 复制代码
{ "index": { "_id": "3" } }
{ "name": "User One", "phone": "1234567890", "birthday": "1995-05-05", "createTime": "2024-10-17T10:00:00", "address": "789 Elm St" }
{ "index": { "_id": "4" } }
{ "name": "User Two", "phone": "0987654321", "birthday": "1988-07-15", "createTime": "2024-10-17T11:00:00", "address": "1234 Oak St" }

7.查询索引数据条数

8.根据条件查询

json 复制代码
{
  "query": {
    "match": {
      "name": "John Doe"
    }
  }
}

9.根据 ID 查询

10.滚动查询

json 复制代码
{
  "size": 2,
  "query": {
    "match_all": {
    }
  }
}

在初次滚动查询后,您需要使用 scroll_id 进行后续请求:

json 复制代码
{
  "scroll": "1m",
  "scroll_id": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAA..."
}

11.根据 ID 更新数据

json 复制代码
{
  "doc": {
    "phone": "555-555-5555",
    "createTime": "2024-10-17T00:00:00Z"
  }
}

12.根据自定义条件更新数据

json 复制代码
{
  "query": {
    "match": {
      "name": "Jane Doe"
    }
  },
  "script": {
    "source": "ctx._source.phone = params.phone; ctx._source.address = params.address",
    "params": {
      "phone": "5555555555",
      "address": "222 Elm St"
    },
    "lang": "painless"
  }
}

13.根据 ID 删除数据

14.根据自定义条件删除数据

json 复制代码
{
  "query": {
    "match": {
      "name": "Jane Doe"
    }
  }
}

15.删除索引

相关推荐
HelloWorld0012 分钟前
告别慢吞吞!大模型推理提速 300%:Speculative Decoding(推测解码)原理与生产落地实战
ai编程
柯南466811 分钟前
【AI工程师精讲】06:MoE:为什么"万亿参数"的模型,实际只用了很小一部分
人工智能·ai编程
零域码客15 分钟前
RAG 和微调解决的是同一类问题吗?从大模型底层全链路拆解两者的本质与选择逻辑
大数据·人工智能·机器学习·模型微调·fine-tuning·检索增强生成·llm 架构
架构师那点事儿15 分钟前
Agent Skill: 视频/PPT 内容提取 Skill —— 从 0 到 1 诞生记 + 使用指南
llm·agent·ai编程
一招合理19 分钟前
互联网金融洗牌加剧,大数据风控成平台突围关键
大数据
财迅通Ai29 分钟前
开拓全球合作新机遇 科兴制药亮相CPHI Milan 2026
大数据·人工智能·科兴制药
全栈Agent 小李1 小时前
【无标题】
前端·后端·agent·ai编程·全栈·cursor·mcp
Elasticsearch1 小时前
使用 Elastic Stack 丰富邮政地址信息 —— 第一部分
elasticsearch
yichengerp1 小时前
国内中小电子工厂用哪个erp系统好?
大数据·运维·人工智能·云计算·制造
benchmark_cc1 小时前
A股、港股、美股日K如何拼接?处理不同交易日造成的时间轴错位
大数据·python·pandas·量化交易·股票数据·quantdash