《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.17.Elasticsearch SQL (6) https://developer.aliyun.com/article/1227071
3. 支持函数
Elasticsearch SQL 中包含非常多实用函数,下面罗列了其中最常用的一部分,还有许多特定场景使用的函数,可以查看官方文档。例如:有关距离计算的 ST_Distance,有关日期计算的
DAY_OF_WEEK 等。
四、局限
1) 只能执行查询语句
Elasticsearch SQL 只实现了ANSI SQL规范标准的子集,无法添加、更新、删除索引或者索引中的文档。
2) 十分复杂的查询解析会报错
3)不支持 join 连表查询语法
Elasticsearch 中通过添加 join 字段类型,在 Elasticsearch DSL 中通过 has_parent,has_child 可以实现简单的联表查询,但是 Elasticsearch SQL 目前不支持。
4) 只支持部分子查询语句
Elasticsearch SQL 的子查询语句正常执行条件是:整个查询语句可以解析为单条 Elasticsearch DSL 查询语句。
5) 查询 Limit 最大值为1000
当需要返回多条记录(大于1000)时候,无法通过直接指定 Limit 值获取,因为超过 1000 的 limit 值会被转换为 1000,此时需要使用 fetch_size (游标滚动),fetch_size 的默认最大值为10000, 如果需要返回的记录大于10000条,需要通过多次查询组合, 获得结果。
6)多层桶聚合无法指定每层的分桶数量,也无法指定每层的排序
五、参考
l 官方文档SQL
l 官方博客: Elasticsearch SQL 简介(附练习示例)- 第 1 部分