--- title: "查询所有点-in-time" date: 2026-01-09 lastmod: 2026-01-09 description: "介绍如何在 Easysearch 中查询所有活跃的 Point In Time (PIT) 上下文。" tags: ["搜索", "点-in-time", "监控"] summary: "此 API 用于获取 Easysearch 集群中所有活跃的 Point In Time (PIT) 上下文信息。 API # GET /_pit/_all API 的作用 # 获取集群中所有活跃的 PIT 上下文信息。该 API 会遍历集群中的所有节点,收集并返回所有当前的 PIT ID 及其相关信息,包括: PIT ID:Base64 编码的 PIT 标识符 创建时间:PIT 创建的时间戳 存活时间:PIT 的 keep_alive 时长(毫秒) 失败节点:获取 PIT 信息失败的节点及其错误信息(如果有) API 的参数 # 路由参数 # 此 API 使用固定路由 /_pit/_all,没有路由参数。 查询字符串参数 # 此 API 不支持任何查询字符串参数。 请求示例 # # 查询所有 PIT GET /_pit/_all 响应示例 # 成功响应 # { "pits": [ { "pit_id": "o463QQEPbXktaW5kZXgtMDAwMDAxFnNOWU43ckt3U3IyaFVpbGE1UWEtMncAFjFyeXBsRGJmVFM2RTB6eVg1aVVqQncAAAAAAAAAAAIWcDVrM3ZIX0pRNS1XejE5YXRPRFhzUQEWc05ZTjdyS3dTcjJoVWlsYTVRYS0ydwAA", "creation_time": 1707033600000, "keep_alive": 6000000 }, { "pit_id": "aBc123DEF456GhI789JKL012Mno345PQR678STU901vwx234yz", "creation_time": 1707033700000, "keep_alive": 300000 } ], "failures": [] } 包含节点失败的响应 # { "pits": [ { "pit_id": "pit_id_here", "creation_time": 1707033600000, "keep_alive": 6000000 } ], "failures": [ { "node_id": "node-1", "error": "Failed to connect to node" } ] } 响应字段说明 # 字段 类型 描述 pits array PIT 信息数组(已去重) pits." --- 此 API 用于获取 Easysearch 集群中所有活跃的 Point In Time (PIT) 上下文信息。 ## API ``` GET /_pit/_all ``` ## API 的作用 获取集群中所有活跃的 PIT 上下文信息。该 API 会遍历集群中的所有节点,收集并返回所有当前的 PIT ID 及其相关信息,包括: - **PIT ID**:Base64 编码的 PIT 标识符 - **创建时间**:PIT 创建的时间戳 - **存活时间**:PIT 的 keep_alive 时长(毫秒) - **失败节点**:获取 PIT 信息失败的节点及其错误信息(如果有) ## API 的参数 ### 路由参数 此 API 使用固定路由 `/_pit/_all`,**没有**路由参数。 ### 查询字符串参数 此 API **不支持**任何查询字符串参数。 ## 请求示例 ```bash # 查询所有 PIT GET /_pit/_all ``` ## 响应示例 ### 成功响应 ```json { "pits": [ { "pit_id": "o463QQEPbXktaW5kZXgtMDAwMDAxFnNOWU43ckt3U3IyaFVpbGE1UWEtMncAFjFyeXBsRGJmVFM2RTB6eVg1aVVqQncAAAAAAAAAAAIWcDVrM3ZIX0pRNS1XejE5YXRPRFhzUQEWc05ZTjdyS3dTcjJoVWlsYTVRYS0ydwAA", "creation_time": 1707033600000, "keep_alive": 6000000 }, { "pit_id": "aBc123DEF456GhI789JKL012Mno345PQR678STU901vwx234yz", "creation_time": 1707033700000, "keep_alive": 300000 } ], "failures": [] } ``` ### 包含节点失败的响应 ```json { "pits": [ { "pit_id": "pit_id_here", "creation_time": 1707033600000, "keep_alive": 6000000 } ], "failures": [ { "node_id": "node-1", "error": "Failed to connect to node" } ] } ``` ### 响应字段说明 | 字段 | 类型 | 描述 | |------|------|------| | `pits` | array | PIT 信息数组(已去重) | | `pits.pit_id` | string | Base64 编码的 PIT ID | | `pits.creation_time` | long | PIT 创建的时间戳(毫秒) | | `pits.keep_alive` | long | PIT 的存活时间(毫秒) | | `failures` | array | 获取 PIT 信息失败的节点列表 | | `failures.node_id` | string | 失败节点的 ID | | `failures.error` | string | 错误描述 | ### 空结果响应 当集群中没有活跃的 PIT 时: ```json { "pits": [], "failures": [] } ``` ## API 工作流程 1. 接收 GET 请求到 `/_pit/_all` 端点 2. 创建一个包含集群所有节点的请求对象 3. 向每个节点发送获取 PIT 信息的请求 4. 收集所有节点的响应 5. 对 PIT ID 进行去重处理 6. 返回统一的响应格式 ## 使用场景 1. **监控 PIT 数量**:定期检查集群中有多少活跃的 PIT 2. **资源审计**:检查哪些 PIT 可能已被遗忘但仍占用资源 3. **问题排查**:诊断 PIT 相关的问题 4. **运维清理**:识别长时间未使用的 PIT 以便清理 ## PIT 管理建议 1. **定期检查**:定期执行此 API 检查 PIT 数量 2. **及时清理**:对于不再使用的 PIT,使用 `DELETE /_pit` 及时删除 3. **监控创建时间**:关注创建时间过长的 PIT,可能已被遗忘 4. **设置合理 keep_alive**:根据实际需求设置 PIT 的存活时间 ## 与相关 API 的配合 | API | 功能 | |-----|------| | `POST /{index}/_pit` | 创建 PIT | | `GET /_pit/_all` | 获取所有 PIT | | `DELETE /_pit` | 删除指定的 PIT | | `DELETE /_pit/_all` | 删除所有 PIT | ## 注意事项 1. 此 API 只支持 GET 方法 2. 不支持任何查询字符串参数 3. PIT ID 已进行去重处理 4. 如果某些节点失败,会在 `failures` 字段中返回错误信息 5. 此 API 会遍历所有节点,在大规模集群中可能有性能影响 ## 相关文档 - [创建 point-in-time](./create-point-in-time.md) - [删除 point-in-time](./delete-point-in-time.md) - [搜索文档](./search-document.md)