Me gustaría pedir consejo sobre la visualización de gráficos de Kibana y el mapeo de ElasticSearch con join de unión.
Tengo diferentes entidades, digamos mascotas (llamémoslas entidades principales) y sus dueños (entidad menor).
Estoy insertando mascotas en el índice PETS y pongo a los propietarios en un índice separado de OWNERS . Por lo tanto, algunas mascotas tienen una propiedad que se puede conectar/unir con el siguiente (solo uno) propietario.
Como esto:
mascotas
{ id: 1, name: 'Pikacho', ownerId: 1 }dueño
{ id: 1, name: 'Rachel', petId: 1 }En realidad, soy libre de usar cualquier estructura que desee, incluso documentos de propietario anidados dentro de cada mascota. La verdadera pregunta es cómo lograr el mejor caso para datos de gráficos.
Los propietarios son realmente una entidad separada y no los necesito en la lógica comercial de mi aplicación, pero a veces, como usuario, me gustaría verificar en la interfaz de usuario de Kibana a través de un gráfico cuántas mascotas tiene un propietario, etc.
Entonces, mi pregunta es: ¿Existe alguna restricción en la inserción de datos (con el método .index ) a través del controlador ElasticSearch para node.js, si quisiera crear ungráfico ?
index a través de .create index y marcar cada campo con el mapping correcto o simplemente puedo escribirlos como de costumbre en Elastic y conectar el campo necesario dentro de Kibana por el resultado?join correctamente en este caso si tengo que usarla para gráficos y debo usarla? { id: 1, name: 'Pikachoo', owner: { id: 1, name: 'Rachel' } }Mis versiones de Elastic y Kibana son 7.16+ (actual) Estaré encantado de recibir cualquier ejemplo.
Lo bueno de laaplicación Graph en Kibana y la API de Graph subyacente es que no requieren que indexe sus datos de ninguna manera específica, lo que significa que no aprovechan los campos de join o las relaciones padre-hijo o anidadas en absoluto.
Lo único que utiliza Graph para crear conexiones son valores comunes entre documentos y, en función de ellos, puede crear una red de términos relacionados en el índice.
Es muy fácil comenzar a explorar sus datos con Graph.
pets como de owners .petName y ownerIdAquí hay un ejemplo de cómo podría verse en función de sus datos: