假设我们有2张桌子
1)客户(客户ID,姓名)
2)购买(客户ID,Purchase_ID)
(1)和(2)之间存在一对多(1:n)关系。
现在使用logstash,我想将此数据从sql插入elasticsearch。问题是,如果我将两个表连接起来,那么它将为单个客户插入多行/ 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很有用。但这不能解决我的问题。
答案 0 :(得分:0)
您的SQL查询返回的每一行都将成为Elasticsearch中的一个文档。因此,更改查询以返回所需的行。可能是您需要将purchaseIds连接到一个字段,然后使用logstash的mutate-> split将它们转换为数组。