Cómo configurar la estructura de índice de ElasticSearch con enlaces de múltiples entidades


Recientemente comencé a trabajar en la implementación de ElasticSearch (ES) en una aplicación de comercio electrónico heredada escrita en PHP usando MySQL. Soy completamente nuevo en todo esto y leer los documentos está bien, pero realmente necesito que alguien con experiencia me aconseje.

De la documentación de ES pude configurar un nuevo clúster y también descubrí que los ríos están en desuso y deben reemplazarse, así que los reemplacé con Logstash y el conector JDBC MySQL.

En este punto tengo:

ElasticSearchLogstashControlador MySQL JDBCServidor MySQL

La estructura de la base de datos de la aplicación no es realmente óptima y es muy difícil de reemplazar, pero me gustaría replicarla en el índice ES de la mejor manera posible.

Estructura DB:

Productos

+-------------------------------+-------+--------+
|              Id               | Title | Price  |
+-------------------------------+-------+--------+
| 00c8234d71c4e94f725cd432ebc04 | Alpha | 589,00 |
| 018357657529fef056cf396626812 | Beta  | 355,00 |
| 01a2c32ceeff0fc6b7dd4fc4302ab | Gamma | 0,00   |
+-------------------------------+-------+--------+

Banderas

+------------+-------------+
|     Id     |    Title    |
+------------+-------------+
| sellout    | Sellout     |
| discount   | Discount    |
| topproduct | Top Product |
+------------+-------------+

banderasProductos (n: m pivote)

+------+-------------------------------+------------+------------+
|  Id  |           ProductId           |   FlagId   | ExternalId |
+------+-------------------------------+------------+------------+
| 1552 | 00c8234d71c4e94f725cd432ebc04 | sellout    | NULL       |
| 2845 | 00c8234d71c4e94f725cd432ebc04 | topproduct | NULL       |
| 9689 | 018357657529fef056cf396626812 | discount   | NULL       |
| 4841 | 01a2c32ceeff0fc6b7dd4fc4302ab | discount   | NULL       |
+------+-------------------------------+------------+------------+

Esas ID de cadena son un completo desastre (pero tengo que lidiar con ellas ahora). Al principio pensé que debería hacer una estructura plana del índice de productos a ES, pero ¿qué pasa con los enlaces de múltiples entidades?

Respuestas a la pregunta(1)

Su respuesta a la pregunta