如何使用多个实体绑定设置ElasticSearch索引结构

最近,我开始着手研究使用MySQL用PHP编写的遗留电子商务应用程序中的ElasticSearch(ES)实施。我对所有这些东西都是陌生的,阅读文档很好,但是我确实需要有经验的人为我提供建议。


从ES文档中,我能够设置一个新的集群,并且我还发现河已被弃用,应该将其替换,因此我将它们替换为Logstash和JDBC MySQL连接器。


此时,我有:


弹性搜索

Logstash

JDBC MySQL驱动程序

MySQL服务器

该应用程序的数据库结构并非真正理想,很难替换,但我想以最好的方式将其复制到ES索引中。


数据库结构:


产品展示


+-------------------------------+-------+--------+

|              Id               | Title | Price  |

+-------------------------------+-------+--------+

| 00c8234d71c4e94f725cd432ebc04 | Alpha | 589,00 |

| 018357657529fef056cf396626812 | Beta  | 355,00 |

| 01a2c32ceeff0fc6b7dd4fc4302ab | Gamma | 0,00   |

+-------------------------------+-------+--------+

标志


+------------+-------------+

|     Id     |    Title    |

+------------+-------------+

| sellout    | Sellout     |

| discount   | Discount    |

| topproduct | Top Product |

+------------+-------------+

flags产品(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索引进行扁平化的结构,但是多个实体绑定又如何呢?


人到中年有点甜
浏览 568回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP