В настоящее время я использую JDBC и logstash для импорта моей базы данных SQL в Elasticsearch. У меня есть три таблицы, которые я помещаю под одним и тем же индексом и использую другой тип для каждой таблицы. Для простоты объяснения, типы и поля выглядеть следующим образом:Kibana - Объединение данных из нескольких типов в визуализации
пользователя: { 'UserID', 'UserName'}
счета: { 'AccountID', 'AccountName'}
AccountUsers: { 'AccountID', 'UserID'}
У учетной записи может быть несколько пользователей, и пользователи могут принадлежать нескольким учетным записям. То, что я пытаюсь сделать в Kibana, - это визуализировать, сколько пользователей принадлежит каждой учетной записи, используя гистограмму и тип «AccountUsers» (ось x: AccountID, y-axis: Unique count UserID). Это работает нормально, но я бы предпочел, чтобы метки оси x были «AccountName» вместо «AccountID». Я провел некоторое исследование, и, похоже, не существует какой-либо функциональности для использования этих «учетных записей» для поиска фактического имени учетной записи в другом типе документа (в моем случае «Учетная запись») и отображения этого. Может ли кто-нибудь предложить способы, которыми я смогу добиться этого?
Я бы использовал инструмент Kibi, но досадно, что он поддерживает только Elasticsearch до 2.4.x. Также я не уверен, что присоединение документов в logstash - это жизнеспособное решение в моем случае, но я рассмотрю его. – reno
UPDATE: удалось успешно использовать первый метод. В Logstash я смог создать новый документ, объединяющий поля из других существующих документов в Elasticsearch. Это было полезно: https://www.elastic.co/guide/en/logstash/current/plugins-filters-elasticsearch.html#plugins-filters-elasticsearch-fields. – reno