# @elastic/esql-definitions 中文文档

规范地址：https://npmcn.com/package/%40elastic/esql-definitions/

版本：4\.39\.0
npm 元数据更新时间：2026-11-11T13:00:47.961Z
中文译文更新时间：2026-11-13T10:35:15.204Z
软件包许可：Elastic-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40elastic/esql-definitions
原文对照：https://npmcn.com/package/%40elastic/esql-definitions/?lang=original
源码仓库：https://github.com/elastic/esql-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：9.8 MB，1578 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-07-06T10:31:48.901Z
- 最新版本发布：2026-11-11T13:00:47.608Z
- 近 30 天下载量：517213（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：32（近 12 个月 32 个）

## 中文简介

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

## 安装

```sh
npm install @elastic/esql-definitions
```

也可以使用：`pnpm add @elastic/esql-definitions`、`yarn add @elastic/esql-definitions`、`bun add @elastic/esql-definitions`

## README

# `@elastic/esql-definitions`

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

## 安装

```bash
npm install @elastic/esql-definitions
```

## 使用量

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

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

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

```ts
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:

```ts
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`, (中文(简体) ), ...)保持同类型.

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

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

```ts
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`。 。 。 .
    
    ```bash
    pnpm --filter @elastic/esql-definitions generate
    ```
    
-   `src/definition_types.ts` 活生生的JSON的手写TypeScript形状, 用于代码脚本,并从主条目导出.

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

## 常见问题

### @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 和提交记录判断。

