【Elasticsearch】_reindex api请求

在Elasticsearch中,你可以使用 `_tasks` API 来检查 `_reindex` 任务的状态。当你发起一个 `_reindex` 请求时,Elasticsearch 会返回一个任务 ID,你可以使用这个任务 ID 来查询任务的详细状态。

以下是如何检查 `_reindex` 任务状态的步骤:

1. 获取任务 ID

首先,你需要获取 `_reindex` 任务的 ID。当你发送 `_reindex` 请求时,Elasticsearch 会返回一个响应,其中包含任务 ID。例如:

```json

POST _reindex

{

"source": {

"index": "kibana_sample_data_logs",

"size": 50

},

"dest": {

"index": "lang-test",

"pipeline": "my-lang-pipeline"

}

}

```

响应可能类似于:

```json

{

"took": 123,

"tasks": "node_id:task_id",

"total": 50,

"created": 50,

"deleted": 0,

"batches": 1,

"version_conflicts": 0,

"noops": 0,

"retries": {

"bulk": 0,

"search": 0

},

"throttled_millis": 0,

"requests_per_second": -1.0,

"throttled_until_millis": 0,

"failures": \[\]

}

```

在这个响应中,`"tasks": "node_id:task_id"` 是任务的唯一标识符。

2. 使用 `_tasks` API 查询任务状态

你可以使用 `_tasks` API 来查询任务的详细状态。假设任务 ID 是 `node_id:task_id`,你可以发送以下请求来获取任务状态:

```json

GET _tasks/node_id:task_id

```

这将返回任务的详细信息,包括任务的状态、进度和任何潜在的错误信息。例如:

```json

{

"completed": true,

"task": {

"node": "node_id",

"id": 123456789,

"type": "transport",

"action": "indices:data/write/reindex",

"status": {

"total": 50,

"updated": 50,

"created": 50,

"deleted": 0,

"batches": 1,

"version_conflicts": 0,

"noops": 0,

"retries": {

"bulk": 0,

"search": 0

},

"throttled_millis": 0,

"requests_per_second": -1.0,

"throttled_until_millis": 0

},

"description": "reindex from kibana_sample_data_logs to lang-test",

"start_time_in_millis": 1642956000000,

"running_time_in_nanos": 123456789,

"cancellable": true,

"headers": {}

}

}

```

3. 检查任务状态

在返回的 JSON 中,你可以查看以下字段来了解任务的状态:

  • `completed`: 任务是否已完成。

  • `status`: 任务的详细状态,包括已处理的文档数量、创建的文档数量、删除的文档数量等。

  • `running_time_in_nanos`: 任务运行的时间(纳秒)。

  • `cancellable`: 任务是否可以取消。

通过这些信息,你可以了解 `_reindex` 任务的进展和结果。

4. 取消任务(可选)

如果需要取消正在进行的 `_reindex` 任务,你可以使用 `_tasks` API 的 `cancel` 功能。例如:

```json

POST _tasks/node_id:task_id/_cancel

```

这将尝试取消指定的任务。请注意,取消操作可能不会立即生效,具体取决于任务的当前状态和进度。

相关推荐
阿里云大数据AI技术10 小时前
阿里云 ES AI 引擎版:面向 Agent 场景,为亿级租户、千亿规模向量设计的搜索引擎
人工智能·elasticsearch·agent
阿里云大数据AI技术11 小时前
FalconSeek 技术解析:阿里云 Elasticsearch 云原生内核如何让查询性能飙升600%
人工智能·elasticsearch
Elastic 中国社区官方博客11 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
Elasticsearch13 小时前
使用重新设计的 AutoOps 更快地进行 Elasticsearch 问题排查
elasticsearch
Elastic 中国社区官方博客14 小时前
如何使用 OpenTelemetry 对你的搜索 API 进行埋点,并使用 ES|QL 对其进行查询
大数据·功能测试·elasticsearch·搜索引擎·全文检索·可用性测试
菜地里的小菜鸟1 天前
logstash定时同步elasticsearch数据
elasticsearch·数据同步·logstash定时同步elastics
BerryS3N1 天前
Code Git 工作树:多分支开发的痛点与工作树的曙光
大数据·git·elasticsearch
Elasticsearch2 天前
Elastic 与 Deductive AI 携手合作,加速工程团队的 agent 式事件调查
elasticsearch
Elasticsearch2 天前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
elasticsearch
爱莉希雅&&&2 天前
elasticsearch+kibana+logstash+filebeat链路部署流程
大数据·elasticsearch·搜索引擎·kibana·logstash·filebeat