Добавьте теги в Elasticsearch, используя плагин logstash jdbc - PullRequest
0 голосов
/ 20 февраля 2019

Предположим, у нас есть 2 таблицы

1) Клиент (CustID, Имя)

2) Покупки (Cust_ID, Purchase_ID)

Существует один ко многим (1:n) связь между (1) и (2).

Теперь, используя logstash, я хочу вставить эти данные из sql вasticsearch.Проблема в том, что если я возьму объединение двух таблиц, то для одного клиента будет вставлено несколько строк / записей JSON.Я хочу вставить данные следующим образом.

{
Cust_ID : 101,
Purchase_ID : [ 1001, 2003, 20006]
}

, но это так:

{
Cust_ID : 101,
Purchase_ID : 1001
},
{
Cust_ID : 101,
Purchase_ID : 2003
}

Я нашел ссылку https://www.elastic.co/guide/en/elasticsearch/reference/current/array.html полезной.Но это не решает мою проблему.

1 Ответ

0 голосов
/ 20 февраля 2019

Каждая строка, которую возвращает ваш SQL-запрос, становится документом в Elasticsearch.Таким образом, измените ваш запрос, чтобы вернуть строку, которую вы хотите.Может случиться так, что вам нужно объединить ваши идентификаторы buyId в одно поле, а затем использовать must-> split для logstash, чтобы превратить их в массив.

...