Elasticsearch SQL-запрос в Canvas: он не работает как SQL?
Я начинаю работать с разделом 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 и небольшую базу данных, он работает
Теперь я хочу сделать эту работу внутри элемента моего холста. Я выбираю горизонтальную гистограмму, чтобы представить ее.
Это мой запрос Sealsearch 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 плохо обрабатывает? Я не нашел никаких ресурсов или тем по этому вопросу, но, возможно, я искал не тот путь.
0 ответов
В зависимости от вашей версии Elasticsearch essql либо не поддерживает подзапросы, либо очень ограничен, вот документация.