# @elastic/elasticsearch-canary 中文文档

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

版本：8\.12\.2-canary\.1
npm 元数据更新时间：2026-09-25T13:38:19.314Z
中文译文更新时间：2026-11-13T11:12:29.552Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40elastic/elasticsearch-canary
原文对照：https://npmcn.com/package/%40elastic/elasticsearch-canary/?lang=original
项目主页：http://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html
源码仓库：https://github.com/elastic/elasticsearch-js

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

- 包体积（解压后）：2.6 MB，277 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：2 个
- 首次发布：2020-12-17T16:43:49.194Z
- 最新版本发布：2024-02-28T16:20:56.518Z
- 近 30 天下载量：5960（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：91（近 12 个月 0 个）

## 中文简介

节点搜索的官方客户端

## 安装

```sh
npm install @elastic/elasticsearch-canary
```

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

## README

![](https://www.elastic.co/static-res/images/elastic-logo-200.png)

# 弹性搜索节点js 客户端

[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/) [![Build Status](https://badge.buildkite.com/15e4246eb268ea78f6e10aa90bce38c1abb0a4489e79f5a0ac.svg)](https://buildkite.com/elastic/elasticsearch-javascript-client-integration-tests/builds?branch=main) [![Node CI](https://github.com/elastic/elasticsearch-js/actions/workflows/nodejs.yml/badge.svg)](https://github.com/elastic/elasticsearch-js/actions/workflows/nodejs.yml) [![codecov](https://codecov.io/gh/elastic/elasticsearch-js/branch/master/graph/badge.svg)](https://codecov.io/gh/elastic/elasticsearch-js) [![NPM downloads](https://img.shields.io/npm/dm/@elastic/elasticsearch.svg?style=flat)](https://www.npmjs.com/package/@elastic/elasticsearch)

**[下载 Elasticsearch 的最新版本](https://www.elastic.co/downloads/elasticsearch)** 或者说 **[注册](https://cloud.elastic.co/registration?elektra=en-ess-sign-up-page)** **免费试穿"灵云"**。 。 。 .

Elasticsearch的官方Node.js客户端.

## 安装

参见 [安装部分](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_installation) 正在开始的文件.

## 连接中

参见 [连接区域](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_connecting) 正在开始的文件.

## 使用量

-   [创建索引](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_creating_an_index)
-   [索引文档](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_indexing_documents)
-   [获取文档](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_getting_documents)
-   [搜索文档](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_searching_documents)
-   [更新文档](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_updating_documents)
-   [删除文档](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_deleting_documents)
-   [删除索引](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_deleting_an_index)

### 节点.js 支持

注:节点js的最低支持版本是: `v18`。 。 。 .

客户端的版本遵循了“弹性堆栈”版本,这意味着 主要、次要和补丁发布工作按照准确的时间表完成 经常与 [节点.js发布](https://nodejs.org/en/about/releases/) 时间.

为了避免支持不安全和不支持的Node.js版本 客户端 **会在小版本之间放弃对节点.js的EOL版本的支持**。 。 。 . 典型的情况是,一旦一个节点.js版本进入EOL,客户端就会继续 支持该版本,至少可以支持另一个小版本。 如果您正在使用客户端 即将不支持的 Node.js 版本, 您将会看到警告 在您的日志中( 客户端会提前与两名未成年人登录警告) .

除非你们是 **永远** 使用支持的Node.js版本, 我们建议定义客户对你的依赖 `package.json` 与 `~` 改为 `^`通过这种方式,你会锁定 依赖小的释放,而不是主要释放。 (例如, `~7.10.0` 换成 联 合 国 `^7.10.0`) (中文(简体) ).

| 节点.js 版本 | 节点.js EOL日期 | 支持结束 |
| --- | --- | --- |
| `8.x` | `December 2019` | `7.11` (2021年初) |
| `10.x` | `April 2021` | `7.12` (2021年中) |
| `12.x` | `April 2022` | `8.2` (2022年初) |
| `14.x` | `April 2023` | `8.8` (2023年初) |
| `16.x` | `September 2023` | `8.11` (2023年底) |

### 兼容性

语言客户端是前置相容的;指客户端支持用Elasticsearch的多等或等同的小版本来进行交流. 弹性搜索语言客户端仅能与默认发行相相容并不存在保证.

| 弹性搜索版本 | 客户端版本 |
| --- | --- |
| `8.x` | `8.x` |
| `7.x` | `7.x` |
| `6.x` | `6.x` |
| `5.x` | `5.x` |

要安装客户端的特定主机, 请运行以下命令 :

```
npm install @elastic/elasticsearch@<major>
```

#### 浏览器

> \[尖叫声\] 浏览器环境没有官方支持. 它让你的弹性研究事件暴露在每个人面前 这可能导致安全问题. 我们建议您写一个使用这个客户端的轻量级代理, 您可以看到一个代理示例 [这里](https://npmcn.com/package/%40elastic/elasticsearch-canary/docs/examples/proxy)。 。 。 .

## 文档

-   [导言](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/introduction.html)
-   [使用量](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-connecting.html#client-usage)
-   [客户端配置](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-configuration.html)
-   [API 参考](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html)
-   [认证](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-connecting.html#authentication)
-   [观察性](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/observability.html)
-   [创建儿童客户端](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/child.html)
-   [客户助手](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-helpers.html)
-   [字体支持](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/typescript.html)
-   [测试](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-testing.html)
-   [实例](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/examples.html)

## 安装多个版本

如果您正在使用多个版本的"弹性搜索",则需要使用多个版本的客户端. 过去,不可能安装多个版本的同一软件包,但安装时使用 `npm v6.9`你可以通过化名做到这一点.

您必须运行以安装不同版本客户端的命令是:

```sh
npm install <alias>@npm:@elastic/elasticsearch@<version>
```

例如,如果需要安装 `7.x` 财务报告和审定财务报表 `6.x`,您将运行:

```sh
npm install es6@npm:@elastic/elasticsearch@6
npm install es7@npm:@elastic/elasticsearch@7
```

还有你的 `package.json` 外观如下:

```json
"dependencies": {
  "es6": "npm:@elastic/elasticsearch@^6.7.0",
  "es7": "npm:@elastic/elasticsearch@^7.0.0"
}
```

您将使用您定义的别名从代码中要求软件包 .

```js
const { Client: Client6 } = require('es6')
const { Client: Client7 } = require('es7')

const client6 = new Client6({
  cloud: { id: '<cloud-id>' },
  auth: { apiKey: 'base64EncodedKey' }
})
const client7 = new Client7({
  cloud: { id: '<cloud-id>' },
  auth: { apiKey: 'base64EncodedKey' }
})

client6.info().then(console.log, console.log)
client7.info().then(console.log, console.log)
```

最后, 如果您想要为下一个版本的 Elasticsearch 安装客户端 _(住在Elasticsearch主分支的那个)_时,您可以使用以下 命令 :

```sh
npm install esmain@github:elastic/elasticsearch-js
```

## 许可证

该软件根据 [Apache 许可证 2.0](https://npmcn.com/package/%40elastic/elasticsearch-canary/LICENSE)。 。 。 .

## 常见问题

### @elastic/elasticsearch-canary 是什么？

节点搜索的官方客户端

### 如何安装 @elastic/elasticsearch-canary？

在项目目录运行 npm install @elastic/elasticsearch-canary，或使用 pnpm add / yarn add / bun add。

### @elastic/elasticsearch-canary 支持 TypeScript 吗？

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

### @elastic/elasticsearch-canary 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @elastic/elasticsearch-canary 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @elastic/elasticsearch-canary 可以商用吗？

@elastic/elasticsearch-canary 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @elastic/elasticsearch-canary 的下载量有多少？

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

### @elastic/elasticsearch-canary 还在维护吗？

最新版本 8\.12\.2-canary\.1 发布于 2024/02/29（2 年前）；至今共发布 91 个版本，其中过去 12 个月发布了 0 个；首次发布于 2020/12/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

