我开始使用 canvas kibana - 和检索数据,它使用 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')
当我使用SQL和一个小数据库测试此查询时,它起作用
现在,我想在我的画布的元素中完成这项工作。我选择一个水平条形图表示它。
这是我的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 ?"
}
}
看到"未知索引" ,我首先认为通配符是问题。
但不是,在我的其他弹性搜索查询中很好。
关于 subquies , eLasticsearch sql无法很好地处理的多个select ,我没有找到任何Ressource或主题,但也许我以错误的方式搜索了。
取决于您的elasticsearch版本,ESSQL要么不支持子征服,要么非常有限,这是文档。