NLPchina/elasticsearch-sql
Use SQL to query Elasticsearch
这个项目是什么
elasticsearch-sql 是 Elasticsearch(搜索和分析引擎)的一个插件,允许你使用熟悉的 SQL 语法而不是 Elasticsearch 自身的查询语言来查询数据。你还可以在 SQL 语句中使用 Elasticsearch 的内置函数。
当前状态
⚠️ 已弃用 — 该项目不再积极开发。README 明确建议切换到官方替代方案:
- x-pack-sql(Elastic 官方 SQL 插件)
- OpenDistro for Elasticsearch SQL(AWS 支持,Apache 2 许可)
工作原理
将其作为插件安装到你的 Elasticsearch 实例中。安装后,你可以将 SQL 查询发送到特殊端点,插件会在后台将其转换为 Elasticsearch 查询。
重要路径变更
如果你使用 7.5.0.0 或更高版本,API 端点发生了变化:
| 旧路径 | 新路径 |
|---|---|
/_sql |
/_nlpcn/sql |
/_sql/_explain |
/_nlpcn/sql/explain |
_explain 端点显示 SQL 查询如何被转换为 Elasticsearch 查询。
版本兼容性
README 中包含一个大型兼容性表,涵盖 Elasticsearch 1.x 到 8.9.0 的版本(构建状态徽章表明有 6.8.23、7.17.28、8.19.15 和 9.3.4 的分支)。每个 Elasticsearch 版本都有对应的插件版本 — 例如,ES 7.17.28 对应插件版本 7.17.28.0。
已知限制
对于 Elasticsearch 2.0.0 至 5.6.5 的版本,不支持 delete 命令。(之后的版本未列出此限制。)
附加内容
- 该项目有一个 Web 前端(README 中引用了截图),用于可视化地与 SQL 界面交互。
- 有 wiki 提供更多文档。
- CI 构建状态针对几个维护分支(6.8.23、7.17.28、8.19.15、9.3.4 和 master)进行跟踪。
结论
如果你今天需要 SQL 访问 Elasticsearch,该项目是历史解决方案 — README 本身告诉你使用官方替代方案。
相关
- 项目
- 项目
- 项目
- 项目