NLPchina/elasticsearch-sql

Use SQL to query Elasticsearch

这个项目是什么

elasticsearch-sql 是 Elasticsearch(搜索和分析引擎)的一个插件,允许你使用熟悉的 SQL 语法而不是 Elasticsearch 自身的查询语言来查询数据。你还可以在 SQL 语句中使用 Elasticsearch 的内置函数。

当前状态

⚠️ 已弃用 — 该项目不再积极开发。README 明确建议切换到官方替代方案:

工作原理

将其作为插件安装到你的 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 本身告诉你使用官方替代方案。

相关

  • 项目
  • 项目
  • 项目
  • 项目