@elastic/esql-definitions

中文文档
4.39.0发布于 2026/11/11Elastic-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 51.7万

对ESQQL语言(命令,函数,运算符)共享定义.

中文使用文档
文档目录3 节
  1. 安装
  2. 使用量
  3. 定义如何同步

@elastic/esql-definitions

ESQQL和PromQL语言的共享定义——命令,功能,,, 运算符、设置及其元数据.

安装

npm install @elastic/esql-definitions

使用量

主条目有手持姓名表和定义 类型脚本 :

import { commandsNames, functionNames } from '@elastic/esql-definitions';
import type { FunctionDefinition } from '@elastic/esql-definitions';

完整定义元数据(从 elasticsearch (repo) 已曝光 通过子路径导出 :

import { commandDefinitions } from '@elastic/esql-definitions/commands';
import { functionDefinitions } from '@elastic/esql-definitions/functions';
import { operatorDefinitions } from '@elastic/esql-definitions/operators';
import { settingDefinitions } from '@elastic/esql-definitions/settings';
import { inlineCasts } from '@elastic/esql-definitions/inline-cast';
import { timeSeriesAggregates } from '@elastic/esql-definitions/time-series-aggregates';
import { promqlFunctionDefinitions } from '@elastic/esql-definitions/promql-functions';
import { promqlOperatorDefinitions } from '@elastic/esql-definitions/promql-operators';

ESQQL 剖面响应计划作为参考JSON Schema发布 文件草案7:

import { esqlProfileResponseSchema } from '@elastic/esql-definitions/profile-schema';

源代码与本地代码同步 $ref 指针 完好无损 软件包生成扩展了这些参考文献,使消费者能够通过 esqlProfileResponseSchema 直接到 JSON Schema 验证器和转换器 而不解决提法.

timeSeriesAggregates 将每个字段类型映射到 ESQQL 内含的集合 在时间序列中插入空列 STATS类型 外聚物见. counter_double 变成 double, (中文(简体) ), counter_integer 变成 integer, (中文(简体) ), counter_long 变成 long,以及 text 变成 keyword。其他条目(double, (中文(简体) ), keyword, (中文(简体) ), exponential_histogram, (中文(简体) ), ...)保持同类型.

timeSeriesAggregates.counter_double;
// { function: 'last_over_time', returnType: 'double' }

文档(描述、实例、注释、参数)被分割 按定义名称键入并行的文档模块:

import { functionDocs } from '@elastic/esql-definitions/function-docs';
import { operatorDocs } from '@elastic/esql-definitions/operator-docs';
import { promqlFunctionDocs } from '@elastic/esql-definitions/promql-function-docs';
import { promqlOperatorDocs } from '@elastic/esql-definitions/promql-operator-docs';

functionDocs.bucket.description;
functionDocs.bucket.params?.field; // ES|QL param docs live here, not in signatures

一个非对称性可以知道: ESQQL 参数描述在跨度上是相同的 所有签名的定义,所以他们生活在 docs.params 键 参数名称。 promQL 参数描述每个签名(例如. lhs 是"即时向量" 在一个超载 和一个"斯卡拉".

定义如何同步

  • elasticsearch/ ——机器可读语言定义 为Kibana出版的弹性搜索出版物 docs/reference/query-languages/{esql,promql}/kibana/generated/ 输入 elasticsearch 由语法同步 CI 任务重播 (单位:千美元).buildkite/scripts/esql_grammar_sync.sh) (中文(简体) ).
  • src/generated/ – 类型脚本模块生成自 elasticsearch/ 以 scripts/generate.ts。 。 。 .
    pnpm --filter @elastic/esql-definitions generate
    
  • src/definition_types.ts 活生生的JSON的手写TypeScript形状, 用于代码脚本,并从主条目导出.

注释:同步 commands/ 数据不涵盖所有命令(例如. FROM, (中文(简体) ), ROW, (中文(简体) ), JOIN 上游缺少变体,所以手持 commandsNames 财务报告和审定财务报表 functionNames 名单仍然是姓名的真相来源 列表.

版本与发布记录

@elastic/esql-definitions 共发布 32 个版本,首次发布于 2026/07/06;过去 12 个月发布了 32 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
4.39.0latest2026/11/112 天前
4.38.02026/11/094 天前
4.37.02026/11/057 天前
4.36.02026/11/0211 天前
4.35.02026/10/2915 天前
4.34.02026/10/2618 天前

关于 @elastic/esql-definitions 的常见问题

@elastic/esql-definitions 是什么?

对ESQQL语言(命令,函数,运算符)共享定义.

如何安装 @elastic/esql-definitions?

在项目目录运行 npm install @elastic/esql-definitions,或使用 pnpm add / yarn add / bun add。

@elastic/esql-definitions 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@elastic/esql-definitions 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@elastic/esql-definitions 可以商用吗?

@elastic/esql-definitions 使用 Elastic-2.0 许可。声明的许可为 Elastic-2.0,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@elastic/esql-definitions 的下载量有多少?

根据 npm 官方下载统计,@elastic/esql-definitions 在 2026/10/14 – 2026/11/12 这 30 天内被下载 517,213 次,日均约 17,240 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@elastic/esql-definitions 还在维护吗?

最新版本 4.39.0 发布于 2026/11/11(2 天前);至今共发布 32 个版本,其中过去 12 个月发布了 32 个;首次发布于 2026/07/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。