Unificación de Datos en Directorio de Restaurantes con Postman
Clase 13 de 16 • Curso de Introducción a Elasticsearch
Resumen
¿Cómo unificar modelos de datos en un solo directorio?
Unificar modelos de datos es un paso crucial en la gestión de proyectos de datos. Facilita la creación de un índice integral que contiene toda la información necesaria, desde restaurantes hasta platos asociados. En este proceso, te enseñaremos cómo integrar estos elementos utilizando herramientas como Postman y Elasticsearch, para que puedas manejar toda la información desde un solo índice, simplificando así el mantenimiento y consulta de datos.
¿Qué consultas iniciales debo realizar?
Para comenzar, realizarás varias consultas dentro de Postman que te permitirán conocer cómo están estructurados los mapeos actuales tanto de restaurantes como de platos:
-
Consulta del mapeo de restaurantes:
- Dirígete a
restaurantes_mapping
y haz un GET para obtener el mapeo. - Te mostrará la estructura existente de mapeo con dos bloques definidos.
- Dirígete a
-
Consulta del mapeo de platos:
- Utiliza la ruta
http://localhost:9200/platos_mapping
. - Este mapeo es crucial para integrar los platos como parte de los restaurantes.
- Utiliza la ruta
-
Visualización de datos actuales de platos:
- Accede a
platos_search
para ver todos los platos almacenados. - Esto es esencial a medida que unificamos esta información con los restaurantes.
- Accede a
¿Cómo actualizo el índice de restaurantes?
La clave para integrar todos los datos en un solo índice es actualizar el índice de restaurantes para que maneje no solo los datos de los restaurantes sino también los de los platos de manera anidada:
- Emplea el verbo PUT en la ruta
restaurantes_mapping
. - Define nuevas propiedades dentro de JSON para el índice:
- Calificación: tipo flotante, representa la puntuación del restaurante.
- Dirección: ayuda a localizar físicamente el restaurante.
- Platos: aquí los platos se convierten en un campo anidado para cada restaurante, reflejando sus detalles como nombre y descripción.
- Última modificación: a nivel de restaurante, ya no sobre el plato.
Esta estructura te permitirá tratar los platos como parte de los restaurantes, haciendo el modelo de datos más cohesivo y fácil de gestionar.
¿Cómo realizo actualizaciones parciales de datos en Elasticsearch?
Con el nuevo mapeo establecido, el siguiente paso es actualizar la información de cada restaurante individualmente usando POST para añadir detalles específicos. Aquí se explican algunos ejemplos prácticos sobre cómo realizar esta tarea:
-
Actualización de McDonald's:
- Ruta:
restaurantes/_update/1
. - Campos a actualizar:
Calificación
: 4.22.Dirección
: Calle Primera, Barrio Centro.Platos
: Añadir "Bull picante" previamente consultado.Última modificación
: Ahora a nivel del restaurante.
- Ruta:
-
Actualización de Burger King:
- Ruta similar a McDonald's pero con ID diferente.
- Campos a actualizar:
Calificación
: 3.75.Dirección
: Calle Segunda, Barrio Occidental.Platos
: Incluir "Nachos XL".Última modificación
: Cambia la información ajerry@mail.com
, con fecha 1 de marzo.
-
Actualización de Subway:
- A diferencia de anteriores, Subway no tiene calificación inicial debido a su reciente inclusión en el directorio.
Dirección
: Calle Tercera, Barrio Norte.Platos
: Incluir "Ensaladísima".
Estos pasos se realizan empleando la API de Elasticsearch, asegurando siempre que cada campo esté adecuadamente indentado y estructurado para su correcta actualización.
Esta guía proporciona las bases para realizar un manejo eficiente y unificado de los datos de un directorio de restaurantes y platos, permitiendo un control centralizado y una sencilla gestión de información. ¡Adelante y buen aprendizaje en tu camino hacia la manipulación avanzada de datos!