No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Consulta Avanzada en Elasticsearch: Búsqueda JSON Completa

15/16
Recursos

¿Cómo realizar una revisión completa de tu directorio en Postman?

Revisar que todos los componentes de tu directorio estén funcionales es un paso crucial antes de culminar un proyecto. En esta ocasión, vamos a explorar cómo ejecutar una búsqueda completa utilizando Postman. Este proceso nos permitirá comprobar que todos los datos están disponibles para ser consultados, sin importar si son campos anidados o no.

¿Qué datos se muestran en la búsqueda de Postman?

Al ejecutar una búsqueda en Postman:

  • Podrás ver todos los datos relevantes:
    • Nombre del restaurante
    • Categorías: Datos anidados sobre el restaurante.
    • Calificación
    • Dirección
    • Última modificación: Incluye la fecha y el usuario que realizó el cambio.
    • Platos: Información anidada que detalla la descripción, estado, pedidos de la última hora y el nombre del plato.

Este cuidadoso desglose te asegura tener una visión global del estado actual del directorio y que todos los campos están accesibles para futuras consultas.

¿Cómo realizar una consulta booleana completa?

Para ejecutar una búsqueda que abarque campos como restaurante, platos y categorías de una sola vez, se debe usar una consulta booleana en JSON.

{
  "query": {
    "bool": {
      "must": [
        {
          "bool": {
            "should": [
              { "match": { "direccion": "centro" }},
              { "match": { "direccion": "occidental" }}
            ]
          }
        },
        {
          "bool": {
            "should": [
              {
                "nested": {
                  "path": "categorias",
                  "query": {
                    "bool": {
                      "must": [
                        { "term": { "categorias.nombre": "comida rápida" }}
                      ]
                    }
                  }
                }
              },
              {
                "nested": {
                  "path": "platos",
                  "query": {
                    "bool": {
                      "must": [
                        { "match": { "platos.descripcion": "nachos" }}
                      ]
                    }
                  }
                }
              }
            ]
          }
        }
      ]
    }
  }
}

¿Qué resultado podemos esperar de la consulta?

Al enviar esta consulta, deberías recibir resultados que muestran principalmente dos restaurantes: Burger King y McDonald's. Estos son los factores que los hacen coincidir con la consulta:

  • Burger King:

    • Ubicado en el barrio occidental.
    • Incluye "nachos" en la descripción de algún plato.
  • McDonald's:

    • Ubicado en el barrio centro.
    • Categoría de "comida rápida".

Es fundamental que comprender la estructura de una consulta booleana y la correcta implementación de campos anidados te permite maximizar el potencial de búsqueda en tu directorio.

El dominio de estos procesos de consulta en JSON y su correcta implementación te dará la competencia necesaria para gestionar búsquedas complejas y obtener resultados precisos. ¡Sigue explorando y perfeccionando tus habilidades para llevarlas al siguiente nivel!

Aportes 19

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Un curso para entender los fundamentos pero quedan aun huecos para mejorar conceptos; mas casos de uso donde ocuparlo quisiera que existiera aun mas cursos sobre elastic search creo que es una buena herramienta según el tipo de caso de uso. Vengo usando mongodb, postgresql, Microsoft SQL Server y añadiendo elastic quiero experimentar mas 💚me dejaron con ganas de conocer mas sobre elastic

A mi me pareción genial como fundamentos, encontré esta respuesta acerca de los usos , recomiendo revisen bien las respuestas y los links que hay allí.
https://stackoverflow.com/questions/33283725/what-are-some-use-cases-for-using-elasticsearch-versus-standard-sql-queries
En cuanto al uso que puede hacerse con algún lenguaje solo es que usen el que prefieran para consumir el API que es básicamente como se interactua con ElasticSearch

Excelente Curso para entender lo basico, de aquí se pueden desprender muchos cursos, ya que ELK tiene muchas herramientas como los logstash - los beats - el kibana, etc.

{
    "query":{
        "bool":{
            "must":[
                {
                    "bool":{
                        "should":[
                            {
                                "match":{
                                    "direccion": "Norte"
                                }
                            },
                            {
                                "match":{
                                    "direccion": "occidental"
                                }
                            }
                        ]
                    }
                },
                {
                    "bool":{
                        "should":[
                            {
                                "nested": {
                                    "path": "categorias",
                                    "query":{
                                        "bool":{
                                            "must":{
                                                "term":{
                                                    "categorias.nombre": "Comida Rapida"
                                                }
                                            }
                                            }
                                    }
                                }
                            },
                            {
                                "nested":{
                                    "path": "platos",
                                    "query":{
                                        "bool":{
                                            "must":{
                                                "match": {
                                                    "platos.descripcion": "Nachos"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            ]
        }
    }
}

no entiendo la finalidad del curso ? alguien me lo puede aclarar porfa?

Excelente curso para introduccion seria bueno otro curso de Elastisearch.

Ojala el equipo de platzi saque mas cursos sobre este tema es muy interesante

Un curso introductorio excelente, me quedo faltando un ejemplo practico en el cual usarlo (principalmente como implementarlo en codigo), pero super buena la info.

Me parece innecesario que dentro de la consulta nested, se coloque nuevamente una subconsulta booleana con must ya que no esta dando dos opciones sino tiene una consulta simple con term y con match, quedaría de la siguiente forma: ```js { "query":{ "bool":{ "must":[ { "bool":{ "should":[ {"match":{"direccion":"centro"}}, {"match":{"direccion":"occidental"}} ] } }, { "bool":{ "should":[ { "nested":{ "path":"categorias", "query":{ "term":{"categorias.nombre":"Comida Rápida"} } } }, { "nested":{ "path": "platos", "query":{ "match":{"platos.descripcion":"nachos"} } } } ] } } ] } } } ```

No me gusto ni 5 hasta la mitad del curso, pero cuando empezaron los operadores lógicos y pude ejecutar querys, ya le cogí la onda jejejeje.

me pareció un buen curso como introducción, aunque si faltan muchos conceptos que agregar. Me hubiera gustado que la parte de insertar documentos lo hubiera hecho desde Kibana. Espero publiquen más cursos de elastic.

Tremenda herramienta!!! 😎

Buen curso de introducción, no deja una visión de la herramienta y con curiosidad de aprender mas sobre ES. Espero se pueda dar un curso sobre el stack que forma ES.

asi es, quede con ganas de mas cursos de ElasticSearch

estimado profesor ? podrias compartir tu proyecto para guiarme

@Krsarmiento cómo puedo hacer para que busque algo en acento pero sin mandarlo con acento? help me

👍👍👍👍

Esperamos mas cursos sobre ES

Yo tengo un tiempo usando elasticsearch, pero para almacenar y visualizar logs, no para ser usado por aplicaciones.
De alli se desprenden muchos coneptos que no mostraron, pero como curso basico esta muy bien, me aclaro el concepto de agregacion que se utiliza mucho para crear visualizacion de los datos.