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

相关推荐
程序员黑豆5 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
小虎AI生活6 小时前
WorkBuddy 资料库架构解析:MD + CSV + HTML 三种载体的"流水线"设计
ai编程
C++、Java和Python的菜鸟6 小时前
第2章 项目前置课-代码版本控制Git
大数据·elasticsearch·搜索引擎
Sammyyyyy7 小时前
如何在不停项目不停机的情况下切换AI大模型
大数据·人工智能
咖啡星人k7 小时前
想私有化部署 AI 开发平台?MonkeyCode 给出的答案是开源 + 离线
人工智能·大模型·ai编程·monkeycode
circuitsosk7 小时前
跨境电商智能化实战:AI如何赋能客服自动回复、广告智能投放与供应链预测
大数据·人工智能·python·langchain·智能客服
数智化管理手记9 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
刀客Doc9 小时前
即时零售不只是多一个渠道,品牌开始重做终端生意
大数据·数据库
湘美书院--湘美谈教育9 小时前
湘美书院主理人谈AI文学:提示词与Skill的与时俱进
大数据·人工智能·安全·自动化·生活
weixin_549808369 小时前
人力资源数字化转型:从工具堆叠到AI原生架构的组织级跃迁路径
大数据·人工智能