我有两个mysql表,我想将它们保存到一个弹性索引中。
表1:Product有id,name .等。
表2:ProductWarehouse有productId,warehouseId,qtyAvailable .等
Product 一对多 ProductWarehouse
我的问题是,如何将每个ProductWarehouse记录保存为一个数组?
如果修改了ProductWarehouse,如何在弹性指数上反映这一点?
什么是最佳做法?
弹性产品索引应该如下所示:
{
"id",
"name": ...,
"warehouses": [
{"warehouseId": 1, "qtyAvailable": 3},
{"warehouseId": 10, "qtyAvailable": 30}
]
}发布于 2020-06-12 13:11:56
我的建议是创建一个您需要的结构的MySQL视图:产品与ProductWarehouse连接。此视图仅用于同步,然后使用Logstash将该视图从此视图生成为ElasticSearch。
然后可以使用ElasticSearsh索引作为此结构:
{
"id",
"name": ...,
"warehouses": 1
}
{
"id",
"name": ...,
"warehouses": 3
}https://stackoverflow.com/questions/62282765
复制相似问题