23

4 conceptos que llevarás contigo siempre al aprender Elasticsearch

1216Puntos

hace 4 años

Como si se tratara de aprender un lenguaje de programación, al iniciar en el mundo de Elasticsearch hay todo un abanico de conceptos y palabras que tal vez te resulten nuevas y que querrás relacionar inmediatamente con las tecnologías que conoces. Aquí vamos a listar los más relevantes para hacer más fácil tu misión de volverte un experto en la herramienta.

Documentos

Su equivalente en el mundo de las bases de datos serían los registros (filas) de una tabla. Los documentos son los bloques de información con los cuales almacenamos datos en Elasticsearch. Un documento para un índice de Restaurantes representa a un restaurante específico; dentro de él veremos el nombre, la dirección, el menú, los horarios de apertura y cierre, etc.

Mapeo

Al igual que las columnas en una tabla, Elasticsearch nos permite indicar los campos que vamos a manejar en un índice. Aunque no es necesario contar de antemano con un mapeo para comenzar a trabajar, si queremos optimizar el guardado y el rendimiento en las búsquedas será mejor que pongamos manos a la obra. Por ejemplo, los campos de texto se guardan en índices invertidos mientras que los numéricos y de geolocalización en árboles BKD (no es necesario entender cómo funciona todo esto, es solo para ilustrar la importancia del mapeo manual).

Es aquí donde configuraremos que campos de texto deben ser almacenados para búsquedas de texto completo y cuáles serán almacenados para consultas exactas; también entraremos en detalle para especificar los campos que contienen números, fechas o ubicaciones geográficas con su respectivo formato.

Índices

Un índice puede ser visto como una colección de documentos optimizados, el análogo de la base de datos. Para cada entidad de datos que vamos a manejar es bueno crear un índice con su propio mapeo. Puedes crear tantos índices como necesites: un índice para restaurantes, uno para menús, uno para usuarios… ¡Las posibilidades son infinitas!.

Shards (fragmentos)

Dado que el cielo es el límite al momento de almacenar documentos en Elasticsearch, en algún momento vamos a llegar al punto de quiebre en cuanto a tamaño. Para solventar el problema ubicuo del límite de espacio en los servidores podemos dividir o fragmentar los índices en piezas llamadas shards, mejorando el performance al distribuir las operaciones entre los fragmentos disponibles. Es gracias a esta arquitectura que Elasticsearch se auto-define como una tecnología escalable.

Notas finales

Nos quedamos cortos si queremos abarcar en este artículo todos los conceptos que se manejan dentro del mundo de Elasticsearch. La idea es apuntar hacia una nube general de conocimientos que se discuten en el día a día cuando usamos esta herramienta. Si luego de leer todo esto quedaste con ganas de más, te recomiendo que te enroles en el Curso de Introducción a Elasticsearch que tenemos en Platzi para ti.

Kevin
Kevin
krsarmiento

1216Puntos

hace 4 años

Todas sus entradas
Escribe tu comentario
+ 2
5

Buen dato, tomare el curso para saber mas sobre esta herramienta.

1
4890Puntos

Llevo tiempo sabiendo que tengo que aprender sobre Elastic

Este es el momento.
Gracias