繁体   English   中英

使用 Logstash 使用单个 Elasticsearch 索引从两个 mysql 表同步数据

[英]Sync data from two mysql tables with single Elasticsearch Index using Logstash

我有两个 mysql 表,我想将它们保存到单个弹性索引中。

表 1: Productidname ...等。

表 2: ProductWarehouseproductIdwarehouseIdqtyAvailable ...等

Product一对多ProductWarehouse

我的问题是,如何将每个productProductWarehouse记录保存为数组?

如果ProductWarehouse被修改了,如何在 Elastic 索引上体现出来?

最佳做法是什么?

Elastic 中的产品索引应如下所示:

{
 "id",
 "name": ...,
 "warehouses": [
   {"warehouseId": 1, "qtyAvailable": 3},
   {"warehouseId": 10, "qtyAvailable": 30}
 ]
}

我的建议是创建您需要的结构的 MySQL 视图:产品与 ProductWarehouse 连接。 此视图仅用于同步,然后使用 Logstash 将此视图同步到 ElasticSearch。

然后你可以使用 ElasticSearsh 索引作为这个结构:

{
 "id",
 "name": ...,
 "warehouses": 1
}
{
 "id",
 "name": ...,
 "warehouses": 3
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM