Невозможно выполнить операции COUNT и GROUP BY для поляasticsearch SQL - PullRequest
0 голосов
/ 07 апреля 2020

Я использую Elasticsearch SQL для извлечения данных из индекса asticsearch в canvas [Kibana] для визуализации.

Здесь мой ES SQL запрос:

SELECT COUNT(status), status FROM "indexName" GROUP BY status

Примечание: поле статус имеет тип текст

Когда я пытаюсь выполнить этот запрос, произошла следующая ошибка:

[essql] > Unexpected error from Elasticsearch:
[verification_exception] Found 1 problem(s) line 1:57: Field [status]
of data type [text] cannot be used for grouping;
No keyword/multi-field defined exact matches for [status]; define one
or use MATCH/QUERY instead

заранее спасибо.

1 Ответ

1 голос
/ 07 апреля 2020

Я думаю, это потому, что вам не разрешено считать или выполнять агрегации в текстовом поле. То же самое упомянуто в описании ошибки, которое вы получили: «[valid_exception] Найдено 1 проблем», строка 1:57: поле [status] типа данных [text] нельзя использовать для группировки; "

AFAIK elasti c search маркирует содержимое текстового поля в инвертированный индекс. Таким образом, текст типа «комната, полная веников» будет индексироваться как «а», «комната», «полный», «из», «веники».

Это будет зависеть от типа анализатор также используется. https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...