是否完全支持 SQL 和 PPL?

Is SQL and PPL fully supported?

我尝试了一些查询,发现一些 SQL 查询有效,而另一些则无效。

我使用开发工具上传了测试数据。我也上传了几百个文档(crwaler)

PUT /library/book/_bulk?refresh&pretty
{"index":{"_id": "Leviathan Wakes"}}
{"name": "Leviathan Wakes", "author": "James S.A. Corey", "release_date": "2011-06-02", "page_count": 561}
{"index":{"_id": "Hyperion"}}
{"name": "Hyperion", "author": "Dan Simmons", "release_date": "1989-05-26", "page_count": 482}
{"index":{"_id": "Dune"}}
{"name": "Dune", "author": "Frank Herbert", "release_date": "1965-06-01", "page_count": 604}
  1. 这可以正常工作并显示索引。
SHOW tables LIKE %;

.kibana_1
cwl-2021.01.05
library
  1. 这也行。显示 42 条记录。
select * from .kibana_1;

这按预期工作:

select * from library where page_count > 500 and name = 'Dune'
  1. 这不起作用:
select * from cwl-2021.01.05

收到“无响应”错误

  1. 这有效,但仅显示 400 条记录中的 200 条:
select * from cwl*
  1. 仅当 ID 在前 200 条记录内时才有效:
select * from cwl* where requestID = '3FB4131539FD4403'

管道查询语言仅适用于库索引。

search source=library page_count > 500 and name = 'Dune'

它不适用于其他索引,例如 .kibana_1 或 cwl-2021.01.05

我不确定 AWS elasticsearch 实例如何支持 SQL 和 PPL。

这是因为 SQL 并且 PPL 不喜欢 table 名称中的点或破折号等特殊字符。

PUT /cwl-2021.01.06/_alias/cwl20210106

PUT /cwl-2021.01.07/_alias/cwl20210107

我创建了一个别名,现在一切似乎都在按预期工作。

select * from cwl20210107 where eventID = 'xxx' limit 100

所有节拍、爬虫(默认情况下)的索引名称中都有特殊字符。更改索引名称并不容易。 :)

请参阅此参考以使用特殊字符分隔标识符。

https://github.com/opendistro-for-elasticsearch/sql/blob/develop/docs/experiment/ppl/general/identifiers.rst#delimited-identifiers

有关文档的更多信息:

Sql : https://github.com/opendistro-for-elasticsearch/sql/blob/develop/docs/user/index.rst

个人:https://github.com/opendistro-for-elasticsearch/sql/blob/develop/docs/experiment/ppl/index.rst

贡献:https://github.com/opendistro-for-elasticsearch/sql/blob/develop/docs/developing.rst

论坛:https://discuss.opendistrocommunity.dev/c/sql/8

Sql/ppl : 都是开源开发的,并在 aws 服务中按原样使用。

对于此用户案例,您始终可以使用反引号。例如

POST /_opendistro/_ppl
{
  "query": """
    source=`filebeat-7.10.0-2020.11.28`
  """
}