【问题标题】:Elasticsearch SQL query in Canvas : it doesn't work like SQL?Canvas 中的 Elasticsearch SQL 查询:它不像 SQL 那样工作?
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • 也许您应该提供一些解释和/或示例代码,以及您发布的链接。
猜你喜欢
  • 2016-06-17
  • 2018-12-14
  • 1970-01-01
  • 2011-09-23
  • 2010-10-16
  • 2014-07-14
  • 2015-01-11
  • 2015-01-13
相关资源
最近更新 更多