Canvas中的Elasticsearch SQL查询:它不能像SQL一样工作?

时间:2019-03-06 15:47:13

标签: elasticsearch canvas kibana elasticsearch-sql

我开始使用 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查询中都很好。

关于子查询多个SELECT 的东西,Elasticsearch SQL处理不好吗? 我没有找到任何资源或主题,但是也许我搜索的方式错误。

1 个答案:

答案 0 :(得分:1)

根据您的Elasticsearch版本,essql不支持子查询,或者它非常有限,这里是documentation