news 2026/4/1 17:47:41

亲爱的圣诞老人,这里有一点小小的帮助,献给圣诞节

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
亲爱的圣诞老人,这里有一点小小的帮助,献给圣诞节

作者:来自 Elastic Laurent_Saint-Felix

每一年, Santa Claus 都会遇到同样的扩展性问题:数十亿的孩子,一个神奇的投递时间窗口,零容错空间

几个世纪以来,他一直用羊皮纸卷轴、羽毛笔,以及一个极度过度工作的精灵来运行一切。但今年, Santa 彻底现代化了他的 Naughty-and-Nice 运营技术栈。

  • 再见卷轴
  • 再见建立在希望和糖果拐杖之上的单体 North Pole 数据库。
  • 你好 Elasticsearch 。

而强大的集群,也带来了对……命令行的强烈需求。

幸运的是,精灵们在 GitHub 上发现了一个很有前途的 CLI ,并把它直接构建进了雪橇的车载计算机中:escli-rs

为什么 Santa 需要一个真正的 CLI

Kibana 仪表板很棒,除非你正以 Mach 8 的速度飞越 Tokyo ,而且真的不应该戴着厚重的手套去点击菜单按钮。

Santa 需要的是:

  • 快速
  • 可脚本化
  • 适合戴手套操作

于是escli登场了,这是一个 Elasticsearch CLI 的 概念验证 ,支持多个版本、安全认证、真正的 shell 自动补全,以及足够的便捷性来拯救圣诞节。

精灵们为 Santa 配置了他的 .env :

ESCLI_URL=https://northpole.elasticsearch.cluster ESCLI_API_KEY=ho-ho-ho-secret

一个充满孩子的 Cluster

现在已经建立了对 Cluster 的访问,精灵们开始向其中添加一些孩子。

{"index": {"_index": "children-of-the-world", "_id": "zoe-8yo-france"}} {"name": "Zoe", "age": 8, "nice_score": 0.92, "gift_preference": "Lego Friends", "cookie_offerings": 5, "sibling_conflicts": 1} {"index": {"_index": "children-of-the-world", "_id": "jai-10yo-india"}} {"name": "Jai", "age": 10, "nice_score": 0.75, "gift_preference": "Cricket bat", "cookie_offerings": 2, "sibling_conflicts": 4} {"index": {"_index": "children-of-the-world", "_id": "mia-6yo-canada"}} {"name": "Mia", "age": 6, "nice_score": 0.98, "gift_preference": "Stuffed bear", "cookie_offerings": 10, "sibling_conflicts": 0} {"index": {"_index": "children-of-the-world", "_id": "lucas-11yo-usa"}} {"name": "Lucas", "age": 11, "nice_score": 0.33, "gift_preference": "RC car", "cookie_offerings": 1, "sibling_conflicts": 7} {"index": {"_index": "children-of-the-world", "_id": "sofia-9yo-spain"}} {"name": "Sofia", "age": 9, "nice_score": 0.87, "gift_preference": "Art supplies", "cookie_offerings": 4, "sibling_conflicts": 2}
escli bulk --refresh wait_for --input children_of_the_world.ndjson

Santa 的 Elasticsearch 配置已经就绪,包含关键要素:

  • Index : children-of-the-world
  • Fields : name, age, nice_score, gift_preference, cookie_offerings, sibling_conflicts

现在,多亏了 escli , Santa 可以在地球上的任何地方查询它。甚至在飞行途中。

Santa 实际使用的真实命令

获取单个孩子的文档

escli get children-of-the-world "zoe-8yo-france"

搜索真正乖巧的孩子

echo '{ "query": { "range": { "nice_score": {"gte": 0.9} } } }' | escli search \ --index children-of-the-world | jq

将淘气名单导出为 CSV 文件

echo '{ "query": "FROM children-of-the-world | WHERE nice_score < 0.2" }' | escli esql query --format csv

为了防止手动导出 Naughty List 打断他们的 December stand-up 会议,精灵们最终将这个过程自动化了。

幸运的是,今年名单是空的,因为每个人都很乖。

自动补全: Santa 的新宠功能

escli 中最酷的功能之一就是 shell 自动补全。

安装自动补全:

eval "$(COMPLETE=bash ./escli)"

现在他可以输入:

eval "$(COMPLETE=bash ./escli)"

然后他的终端会智能地补全为:

escli esql query

连驯鹿都印象深刻。

圣诞节被 --help 拯救

Santa 在庞大的物流网络中,需要记住几乎无限的 API 选项,有时会忘记一两个 flag 。他并不感到羞愧。他高兴地使用 --help flag 来快速回忆。

escli --help
  • 有文档的命令。
  • 结构一致。
  • 没有意外。

精灵们甚至抵制住了添加 ASCII 艺术的冲动(在一次小小的 “terminal meltdown incident” 之后)。

Santa 滚动查看帮助输出,微笑着低声说:“这太有用了!” 并按时送出了数十亿份礼物。

如果它对 Santa 足够好……

……那么也许对你的 Elasticsearch cluster 也足够好了。

今天就从 escli-rs 仓库下载最新的预发布版本并尝试吧。

我们很想听到你的反馈:在 GitHub 上打开一个 issue,让我们知道你的想法!

原文:https://discuss.elastic.co/t/dec-1st-2025-en-dear-santa-here-s-a-little-help-for-christmas/383561

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/25 10:24:57

Symfony 8服务间通信安全加固指南,5分钟搞定JWT与OAuth2集成

第一章&#xff1a;Symfony 8微服务通信安全概述在构建基于 Symfony 8 的微服务架构时&#xff0c;服务间的通信安全是保障系统整体稳定与数据隐私的核心环节。随着服务被拆分并部署在不同网络节点上&#xff0c;传统的单体安全机制已无法满足需求&#xff0c;必须引入更精细化…

作者头像 李华
网站建设 2026/3/21 21:26:01

Azure AI Foundry 上使用 NVIDIA NIM 加速 AI 推理:详细梳理与补充指南

Azure AI Foundry 上使用 NVIDIA NIM 加速 AI 推理&#xff1a;详细梳理与补充指南 本文旨在详细梳理并补充在 Azure AI Foundry 平台上集成与使用 NVIDIA NIM 微服务以加速AI推理的完整流程、技术优势与最佳实践。 第一部分&#xff1a;核心概念与价值主张 1.1 NVIDIA NIM 微…

作者头像 李华
网站建设 2026/4/1 15:46:54

【高端图形渲染必修课】:掌握4种专业级抗锯齿算法核心原理

第一章&#xff1a;渲染的抗锯齿技术概述在计算机图形学中&#xff0c;抗锯齿&#xff08;Anti-Aliasing&#xff09;是用于消除图像边缘“锯齿”现象的关键技术。这种锯齿通常出现在高对比度边界处&#xff0c;例如几何图形或多边形边缘&#xff0c;是由于像素离散采样导致的走…

作者头像 李华
网站建设 2026/3/31 19:35:29

掌握低代码PHP属性绑定的5个关键步骤(开发者必藏秘籍)

第一章&#xff1a;低代码PHP属性绑定的核心概念在现代Web开发中&#xff0c;低代码平台通过简化逻辑与数据的关联过程&#xff0c;显著提升了开发效率。PHP作为服务端 scripting 语言的重要代表&#xff0c;其属性绑定机制在低代码环境中扮演关键角色。属性绑定本质上是将表单…

作者头像 李华
网站建设 2026/3/30 23:12:34

2025最新模温机供应商厂家推荐排行榜

在工业生产的精密温控领域&#xff0c;模温机的重要性不言而喻。它如同工业生产中的“温度魔法师”&#xff0c;精准调控温度&#xff0c;保障着生产的高效与稳定。2025年&#xff0c;市场上的模温机供应商众多&#xff0c;究竟哪些厂家能够在专业实力和客户满意度上脱颖而出呢…

作者头像 李华
网站建设 2026/3/31 22:44:05

(开源项目)xsun_workflow_jira

JIRA 工时自动填报 Agent xsun_workflow_agent 项目简介 这是一个基于 AI 的 JIRA 工时自动填报系统&#xff0c;能够根据用户的 Git 提交记录自动分析并填写 JIRA 工作日志。该系统通过集成 LangChain4j 框架&#xff0c;利用大语言模型的能力&#xff0c;智能地将 Git 提交…

作者头像 李华