【我的开源】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.删除索引

相关推荐
小虎AI生活6 小时前
Agent 工具那么多,为什么我押注 WorkBuddy 加 ima
ai编程
leeyi9 小时前
Prompt 模板:用变量组装发给 AI 的消息
aigc·agent·ai编程
kyriewen11 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
沉默王二11 小时前
Qoder 越来越猛了,Browser Use 让 Agent 的联网能力拉满。
agent·ai编程
aqi0012 小时前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
我不是外星人1 天前
有了 Harness Engineering ,真的还需要研发工程师吗?
前端·后端·ai编程
穿过生命散发芬芳1 天前
现在CC Switch一开,Claude Code随便玩
ai编程
Elasticsearch1 天前
如何通过 Claude Code 来写入 CSV 数据到 Elasticsearch
elasticsearch
yuanyxh1 天前
macOS 应用 - 纯对话生成
前端·macos·ai编程