Tag: Elasticsearch

Qué es Elasticsearch

ElasticSearch es un gestor de datos y motor de búsqueda basado en Lucene. Se trata de un sistema distribuido que permite trabajar con un gran volumen de datos de cualquier tipo, con una interfaz web RESTful de búsqueda así como clientes para distintos lenguajes de programación, y un sistema de analítica que permite realizar consultas en tiempo real. Elasticsearch está publicado como open source (código abierto) bajo licencia Apache y desarrollado en Java. Se trata de una tecnología que ayuda a optimizar la arquitectura de datos de nuestro negocio.

También es conocido bajo el acrónimo ELK, un conjunto de tres tecnologías de código abierto:

  • Elasticsearch. Motor de búsqueda y análisis.
  • Logstash. Canal de procesamiento de la información que ingiere datos de múltiples fuentes simultáneamente, las transforma y luego las envía a un “stash” como Elasticsearch.
  • Kibana. Permite la visualización de datos a través de tablas y gráficos.

Qué ventajas ofrece Elasticsearch

  1. Sistema distribuido. Los datos se almacenan en diferentes sistemas que colaboran entre sí y nos muestran los resultados que les demandamos en cada momento en una sola petición.
  2. Multitenencia de datos. Nos permite operar sobre distintos índices al mismo tiempo y así potenciar nuestras búsquedas.
  3. Acceso en tiempo real. Esta tecnología nos permite acceder de forma instantánea a los datos.
  4. Búsqueda de texto completo. Usar Elasticsearch hace que implementen una gran cantidad de funciones, tales como la división personalizada de texto en palabras, derivación personalizada, búsqueda personalizada, etc.
  5. Autocompletado y búsqueda instantánea. Buscar mientras el usuario escribe. Pueden ser simples sugerencias de búsquedas tratando de predecirlas en base al historial de búsqueda, o simplemente haciendo una búsqueda completamente nueva para cada palabra clave. Esta opción funciona como ocurre en el buscador Google, que escribimos una palabra y nos sugiere otras opciones de búsqueda. Además, al usar Elasticsearch nos permite encontrar lo que estamos buscando aunque tenga un error ortográfico.
  6. Consultas complejas y afinación. Elasticsearch tiene una poderosa DSL basada en JSON, que permite a los equipos de desarrollo construir consultas complejas y afinarlas para recibir los resultados más precisos de una búsqueda. También proporciona una forma de clasificar y agrupar los resultados.
  7. Ahorro tiempo de análisis y mayor velocidad. Elasticsearch puede ejecutar consultas complejas extremadamente rápido. También almacena casi todas las consultas estructuradas comúnmente utilizadas como filtro para el conjunto de resultados y las ejecuta solo una vez. Para cada otra solicitud que contiene un filtro en caché, comprueba el resultado de la caché. Esto ahorra el tiempo de análisis y ejecución de la consulta mejorando la velocidad.
  8. Elasticsearch está orientado a documentos.  Elasticsearch no utiliza esquemas, acepta documentos JSON e intenta detectar la estructura de datos, indexar los datos y hacer que se pueda buscar.
  9. Uso de facetas. Una búsqueda facetada es más sólida que una búsqueda de texto típica, lo que permite a los usuarios aplicar una cantidad de filtros a la información e incluso tener un sistema de clasificación basado en los datos. Esto permite una mejor organización de los resultados de búsqueda y permite a los usuarios determinar mejor qué información necesitan examinar.
  10. Escalabilidad horizontal y registro de nodos. Elasticsearch permite escalar horizontalmente, por lo que, gracias a su diseño, permite extender los recursos y equilibrar la carga entre los nodos de un cluster. Además, registra cualquier cambio realizado en registros de transacciones en múltiples nodos en el clúster para minimizar la posibilidad de pérdida de datos. Por otro lado, estos cluster pueden detectar aquellos nodos que fallan y reorganizarlos para que los datos siempre sean accesibles.

Al tratarse de una tecnología de open source, en su web, existen diversos videos tutoriales y webinars a los que puedes acceder de forma gratuita tan solo facilitando tu correo electrónico puedes aprender a utilizar Elasticsearch ¡si aún no lo has hecho!

videos_elasticsearch