O GoConqr está de visual novo! Conte para nós o que você achou.

Módulo 3 de 4 · Texto

Queries - Tipos de consultas

Patricio Sebastian Mendoza

Queries[editar]

Elasticsearch utiliza Query DSL (Lenguaje de dominio específico) para realizar las consultas a los documentos indexados. Es un lenguaje sumamente flexible y de gran alcance, además de simple, que permite conocer y explorar los datos de la mejor manera. Al ser utilizado a través de una interfaz de tipo JSON, las consultas son muy sencillas de leer y, lo más importante, de depurar.

Sobre la base de su estructura y componentes, las consultas se componen de dos cláusulas: "Leaf Query Clauses" y "Compound Query Clauses". La primera hace referencia a aquellas consultas que tienen operaciones como "match", "term" o "range", que devuelven un valor especifico solicitado. Las segundas se podría decir que son una combinación de la primera, una manera de realizar consultas "conjuntas" para obtener información más compleja y detallada.

Tipos de consultas[editar]

Una consulta comienza con la palabra "query" seguida de unas condiciones y filtros dentro, en la forma de un objeto JSON. Existen distintos tipo de consultas que podemos identificar, por ejemplo:

Match all query[editar]

La consulta más básica que se puede hacer. Devuelve todos los objetos que se encuentren indexados:

{ "query":{ "match_all":{} } }

Match query[editar]

Este tipo de consulta se utiliza para realizar una búsqueda donde se busca igualar determinados valores de un término o una frase. Entonces, si buscamos, por ejemplo dentro de nuestra base de datos, todos los objetos cuyo atributo color es verde, tomaría la siguiente forma:

{ "query":{ "match" : { "color":"verde" } } }

Multi match query[editar]

Muy similar a la consulta descrita anteriormente, pero en lugar de buscar la coincidencia con un valor solo, chequea con varios campos:

{ "query":{ "multi_match" : { "query": "montevideo", "fields": [ "ciudad", "departamento" ] } } }

Term queries[editar]

Este tipo de consultas se utilizan cuando se trabaja con datos como números o fechas, para buscar el valor de un término concreto:

{ "query":{ "term":{"animal":"perro"} } }

Range query[editar]

Otro tipo de consultas son aquellas que buscan por el rango de determinado atributo. Se utilizan distintos operadores ("gte": mayor ó igual a determinado valor, "gt": mayor a determinado valor, "lte": menor ó igual , "lt": menor):

{ "query":{ "range":{ "rating":{ "gte":4 } } } }

Estos son algunos de los ejemplos de consulta que se pueden utilizar. Son muchas más las opciones, los operadores y los filtros que se pueden usar; sobre todo si se empieza a combinar los mismos.

Instruções

Para avançar no curso, envie uma tentativa deste quiz. Você pode enviá-la depois da última pergunta.

Ir para o módulo escolhido

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?