0

我尝试了一些查询,发现有些 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。

4

3 回答 3

1

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

POST /_opendistro/_ppl
{
  "query": """
    source=`filebeat-7.10.0-2020.11.28`
  """
}
于 2021-01-07T17:15:15.030 回答
0

这是因为 SQL 和 PPL 不喜欢表名中的点或破折号等特殊字符。

PUT /cwl-2021.01.06/_alias/cwl20210106

PUT /cwl-2021.01.07/_alias/cwl20210107

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

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

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

于 2021-01-07T04:40:43.370 回答