【发布时间】:2019-09-23 22:33:54
【问题描述】:
我开始使用 Kibana 中的 Canvas 部分 - 为了检索数据,它使用 Elasticsearch SQL。
我尝试做的是检索几个值的计数;我需要将某些值组合在一起 - 以相同字母开头的值。
我的 SQL 查询如下所示:
SELECT
(SELECT COUNT(*) FROM logs WHERE status LIKE 'missingValue%'),
(SELECT COUNT(*) FROM logs WHERE status LIKE 'errorValue%'),
(SELECT COUNT(*) FROM logs WHERE status='exactErrorValue'),
(SELECT COUNT(*) FROM logs WHERE status='anotherExactErrorValue')
当我测试这个查询时,using SQL and a little database, it works
现在,我想在画布的一个元素中完成这项工作。我选择了一个水平条形图来表示它。
这是我的 elasticsearch SQL 查询:
SELECT
(SELECT COUNT(*) FROM "monitoring-func-*"
WHERE status LIKE 'missingValue%'),
(SELECT COUNT(*) FROM "monitoring-func-*"
WHERE status LIKE 'errorValue%'),
(SELECT COUNT(*) FROM "monitoring-func-*"
WHERE status='exactErrorValue'),
(SELECT COUNT(*) FROM "monitoring-func-*"
WHERE status='anotherExactErrorValue')
我得到了这个错误:
{
"error": {
"message": "[essql] > Unexpected error from Elasticsearch: [unresolved_exception] Invalid call to nullable on an unresolved object ScalarSubquery[With[{}]
\\_Project[[?COUNT(?*)]]
\\_Filter[(status) REGEX (LikePattern)#5139]
\\_UnresolvedRelation[[][index=monitoring-func-*],null,Unknown index [monitoring-func-*]],5142] AS ?"
}
}
看到“未知索引”,我首先想到的是通配符是问题所在。
但事实并非如此,它在我的其他 Elasticsearch 查询中完全没问题。
子查询,多重选择,Elasticsearch SQL 不能很好地处理吗? 我没有找到任何关于此的资源或主题,但也许我搜索了错误的方式。
【问题讨论】:
-
ES SQL上好像不支持子查询
标签: elasticsearch canvas kibana elasticsearch-sql