簡體   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