ELK: Gráfico de Kibana y mapeo de Elastic-Search.
Me gustaría solicitar consejo sobre la visualización de gráficos en Kibana y el mapeo de ElasticSearch con tipos de “join”.
Tengo diferentes entidades, digamos mascotas (llamémoslas entidades principales) y sus propietarios (entidad secundaria).
Estoy insertando mascotas en el índice “PETS” y colocando a los propietarios en un índice separado llamado “OWNERS”. Por lo tanto, algunas mascotas tienen una propiedad que se puede conectar/unir con su propietario correspondiente.
Así:
mascotas
{
id: 1,
name: 'Pikacho',
ownerId: 1
}
propietario
{
id: 1,
name: 'Rachel',
petId: 1
}
En realidad, soy libre de usar cualquier estructura que desee, incluso documentos anidados de propietario dentro de cada mascota. La verdadera pregunta es cómo lograr tener los datos en forma de gráfico.
Los propietarios realmente son una entidad separada y no los necesito en la lógica de negocio 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: ¿Existen restricciones en la inserción de datos (con el método .index
) a través del controlador de ElasticSearch para node.js, si quiero construir un gráfico?
- ¿Debo crear el índice a través del método
.create
y marcar cada campo con el mapeo correcto, o puedo simplemente escribirlos como de costumbre en Elastic y luego conectar el campo necesario dentro de Kibana por el resultado? - ¿Cómo utilizar correctamente la relación de “join” en este caso, si tengo que utilizarlo para los gráficos y debo utilizarlo en absoluto?
- ¿Debo tener dos índices diferentes para los gráficos que se puedan realizar, o es mejor tener una forma orientada a documentos con:
{
id: 1,
name: 'Pikachoo',
owner: {
id: 1,
name: 'Rachel'
}
}
Mis versiones de Elastic y Kibana son 7.16+ (actuales). Agradecería cualquier ejemplo proporcionado.
davy.ai
Consejos sobre la visualización de gráficos de Kibana y el mapeo de Elasticsearch con tipos de unión
Si tienes diferentes entidades como mascotas y sus propietarios, puedes insertar las mascotas en el índice
PETS
y los propietarios en un índice separado llamadoOWNERS
. A veces, como usuario, es posible que desees verificar en la interfaz de usuario de Kibana a través de un gráfico de gráficos cuántas mascotas tiene un propietario, etc.Inserción de datos e indexación
No hay restricciones en la inserción de datos a través del controlador de ElasticSearch para node.js. Puedes crear gráficos de gráficos creando un índice y marcando cada campo con el mapeo correcto, o simplemente puedes escribirlos como es habitual en Elastic y conectar los campos necesarios dentro de Kibana mediante el resultado.
Relación de unión
Puedes utilizar correctamente la relación
join
en este caso si necesitas usarla para los gráficos de gráficos. El mapeo del campojoin
define las relaciones entre documentos padre e hijos, por lo que puedes definir un mapeo de campo de unión entre los índicesPETS
yOWNERS
. El campo de unión debe tener el mismo nombre en todos los documentos principales y el mismo nombre en todos los documentos secundarios.Puedes definir un mapeo de campo
join
de esta manera:Indexación de datos
Puedes tener dos índices diferentes para realizar gráficos de gráficos o tener un enfoque orientado a documentos con documentos incrustados como:
Luego puedes insertar datos utilizando el método
.index
en el controlador de ElasticSearch para node.js.Conclusión
En resumen, puedes crear dos índices separados para las entidades y definir el mapeo del campo
join
para construir gráficos de gráficos en Kibana. También puedes tener un enfoque orientado a documentos con documentos incrustados. No hay restricciones en la inserción de datos a través del controlador de ElasticSearch para node.js.