[英]Sync data from two mysql tables with single Elasticsearch Index using Logstash
我有兩個 mysql 表,我想將它們保存到單個彈性索引中。
表 1: Product
有id
, name
...等。
表 2: ProductWarehouse
有productId
、 warehouseId
、 qtyAvailable
...等
Product
一對多ProductWarehouse
我的問題是,如何將每個product
的ProductWarehouse
記錄保存為數組?
如果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.