--- title: "解析SQL查询" date: 2026-03-19 lastmod: 2026-03-19 description: "说明 Easysearch 中 SQL 解析相关 API 的情况。" tags: ["SQL", "查询", "API说明"] summary: "API 状态说明 # 在 Easysearch 中,不存在 GET /_sql/parsed API。 实际存在的 SQL API # Easysearch 中实际存在的 SQL 相关 API 如下: POST /_sql # 执行 SQL 查询的主要端点。 POST /_sql POST /_sql/_explain # 获取 SQL 查询的执行计划。 POST /_sql/_explain POST /_sql/close # 关闭 SQL 游标。 POST /_sql/close API 参数说明 # POST /_sql # 查询字符串参数 # 参数 类型 是否必需 默认值 描述 format string 可选 - 响应格式(如 json, yaml, csv 等) keep_alive time 可选 - 游标保持活跃的时间 请求体参数 # 参数 类型 是否必需 描述 query string 必需 SQL 查询语句 fetch_size integer 可选 每次获取的行数 POST /_sql/_explain # 请求体参数 # 参数 类型 是否必需 描述 query string 必需 要解释的 SQL 查询语句 使用示例 # 执行 SQL 查询 # POST /_sql { "query": "SELECT * FROM my-index WHERE status = 'active'" } 获取查询执行计划 # POST /_sql/_explain { "query": "SELECT * FROM my-index WHERE status = 'active'" } 使用游标查询 # POST /_sql?" --- ## API 状态说明 在 Easysearch 中,**不存在 `GET /_sql/parsed` API**。 ## 实际存在的 SQL API Easysearch 中实际存在的 SQL 相关 API 如下: ### POST /_sql 执行 SQL 查询的主要端点。 ``` POST /_sql ``` ### POST /_sql/_explain 获取 SQL 查询的执行计划。 ``` POST /_sql/_explain ``` ### POST /_sql/close 关闭 SQL 游标。 ``` POST /_sql/close ``` ## API 参数说明 ### POST /_sql #### 查询字符串参数 | 参数 | 类型 | 是否必需 | 默认值 | 描述 | |------|------|----------|--------|------| | `format` | string | 可选 | - | 响应格式(如 `json`, `yaml`, `csv` 等) | | `keep_alive` | time | 可选 | - | 游标保持活跃的时间 | #### 请求体参数 | 参数 | 类型 | 是否必需 | 描述 | |------|------|----------|------| | `query` | string | 必需 | SQL 查询语句 | | `fetch_size` | integer | 可选 | 每次获取的行数 | ### POST /_sql/_explain #### 请求体参数 | 参数 | 类型 | 是否必需 | 描述 | |------|------|----------|------| | `query` | string | 必需 | 要解释的 SQL 查询语句 | ## 使用示例 ### 执行 SQL 查询 ```bash POST /_sql { "query": "SELECT * FROM my-index WHERE status = 'active'" } ``` ### 获取查询执行计划 ```bash POST /_sql/_explain { "query": "SELECT * FROM my-index WHERE status = 'active'" } ``` ### 使用游标查询 ```bash POST /_sql?keep_alive=5m { "query": "SELECT * FROM my-index", "fetch_size": 1000 } ``` ## SQL 功能说明 Easysearch 支持 SQL 查询功能,允许使用标准 SQL 语法查询索引数据。主要功能包括: - **SELECT 查询**:查询和过滤数据 - **聚合函数**:COUNT、SUM、AVG 等 - **JOIN 操作**:支持索引间的连接 - **GROUP BY**:分组聚合 - **ORDER BY**:排序结果 - **LIMIT/OFFSET**:分页查询 ## 注意事项 1. **只支持 POST 方法**:所有 SQL API 都使用 POST 方法 2. **无 GET /_sql/parsed**:该端点在 Easysearch 中不存在 3. **游标管理**:长时间运行的查询使用游标机制 4. **性能考虑**:复杂 SQL 查询可能影响集群性能 ## 相关文档 - [SQL查询](./sql-query.md) - [搜索文档](./search-document.md)