最近,我開始致力於將ElasticSearch(ES)實現應用到使用MySQL編寫的使用PHP編寫的傳統電子商務應用程序中。我對所有這些東西都是全新的,閱讀文檔很好,但我真的需要有經驗的人來爲我提供建議。如何使用多個實體綁定來設置ElasticSearch索引結構
從ES文檔中我可以建立一個新的集羣,並且我也發現河流已經過時並應該被替換,所以我用Logstash和JDBC MySQL連接器替換了它們。
在這一點上,我有:
- ElasticSearch
- Logstash
- JDBC MySQL驅動
- MySQL服務器
應用程序的數據庫結構是不是真的最佳的,是很難替換,但我想以最好的方式將其複製到ES索引中。
DB結構:
產品
+-------------------------------+-------+--------+
| Id | Title | Price |
+-------------------------------+-------+--------+
| 00c8234d71c4e94f725cd432ebc04 | Alpha | 589,00 |
| 018357657529fef056cf396626812 | Beta | 355,00 |
| 01a2c32ceeff0fc6b7dd4fc4302ab | Gamma | 0,00 |
+-------------------------------+-------+--------+
標誌
+------------+-------------+
| Id | Title |
+------------+-------------+
| sellout | Sellout |
| discount | Discount |
| topproduct | Top Product |
+------------+-------------+
flagsProducts(N:M樞軸)
+------+-------------------------------+------------+------------+
| Id | ProductId | FlagId | ExternalId |
+------+-------------------------------+------------+------------+
| 1552 | 00c8234d71c4e94f725cd432ebc04 | sellout | NULL |
| 2845 | 00c8234d71c4e94f725cd432ebc04 | topproduct | NULL |
| 9689 | 018357657529fef056cf396626812 | discount | NULL |
| 4841 | 01a2c32ceeff0fc6b7dd4fc4302ab | discount | NULL |
+------+-------------------------------+------------+------------+
這些字符串ID是一個完整的災難(但我現在必須處理它們)。起初我以爲我應該對ES做一個扁平結構的Products索引,但是多個實體綁定呢?
如果你想移動你的MySQL數據到ES:https://sysadminci.wordpress.com/2016/01/06/import-mysql-data-in-elasticsearch-server/ –
平面數據結構似乎是最好的到目前爲止。您對此索引有任何特定的查詢要求?考慮ES中的數據結構意味着考慮你想要使用的查詢。 –
@falnyr,你在過去7天內沒有提過你的問題。是否還有更多您需要的信息? – Val