Como configurar a estrutura de índice ElasticSearch com várias ligações de entidade
Recentemente, comecei a trabalhar na implementação do ElasticSearch (ES) no aplicativo de comércio eletrônico herdado escrito em PHP usando MySQL. Eu sou completamente novo em tudo isso e ler os documentos é bom, mas eu realmente preciso de alguém com experiência para me aconselhar.
A partir da documentação do ES, consegui configurar um novo cluster e também descobri que os rios estão obsoletos e devem ser substituídos; portanto, substituí-los pelo Logstash e pelo conector MySQL JDBC.
Neste ponto, tenho:
ElasticSearchLogstashDriver MySQL JDBCServidor MySQLA estrutura do banco de dados do aplicativo não é realmente ideal e é muito difícil de substituir, mas eu gostaria de replicá-lo no índice ES da melhor maneira possível.
Estrutura do banco de dados:
Produtos
+-------------------------------+-------+--------+
| Id | Title | Price |
+-------------------------------+-------+--------+
| 00c8234d71c4e94f725cd432ebc04 | Alpha | 589,00 |
| 018357657529fef056cf396626812 | Beta | 355,00 |
| 01a2c32ceeff0fc6b7dd4fc4302ab | Gamma | 0,00 |
+-------------------------------+-------+--------+
Bandeiras
+------------+-------------+
| Id | Title |
+------------+-------------+
| sellout | Sellout |
| discount | Discount |
| topproduct | Top Product |
+------------+-------------+
bandeiras (n: m pivô)
+------+-------------------------------+------------+------------+
| Id | ProductId | FlagId | ExternalId |
+------+-------------------------------+------------+------------+
| 1552 | 00c8234d71c4e94f725cd432ebc04 | sellout | NULL |
| 2845 | 00c8234d71c4e94f725cd432ebc04 | topproduct | NULL |
| 9689 | 018357657529fef056cf396626812 | discount | NULL |
| 4841 | 01a2c32ceeff0fc6b7dd4fc4302ab | discount | NULL |
+------+-------------------------------+------------+------------+
Esses IDs de cadeia são um desastre completo (mas eu tenho que lidar com eles agora). No começo, pensei em fazer uma estrutura plana do índice Products para ES, mas e as ligações de várias entidades?