≡En resumen
- Elasticsearch guarda documentos JSON en índices invertidos y los busca en milisegundos aunque haya millones.
- Escala en horizontal: reparte los datos en shards entre varios nodos de un clúster.
- Forma la Elastic Stack junto a Kibana, Logstash y Beats (antes conocida como ELK).
- Dejó de ser Apache 2.0 en 2021 y en 2024 volvió a ofrecer una licencia de código abierto, la AGPLv3.
- OpenSearch es el fork creado por AWS en 2021 y su principal alternativa compatible.
01 ¿Qué es Elasticsearch?
Lo creó el desarrollador israelí Shay Banon, que publicó la primera versión el 8 de febrero de 2010 como evolución de un proyecto anterior llamado Compass. En 2012 fundó con otros socios la empresa que hoy se llama Elastic, que cotiza en la Bolsa de Nueva York desde octubre de 2018 y mantiene el desarrollo del producto.
Aunque muchas veces se le llama «base de datos», Elasticsearch no sustituye a una base de datos relacional como MySQL o PostgreSQL: su punto fuerte es encontrar y analizar información rápidamente, no gestionar transacciones. Lo habitual es que la aplicación guarde los datos en su base de datos principal y sincronice una copia en Elasticsearch para las búsquedas.
02 Para qué sirve Elasticsearch: casos de uso
Buscador de webs y ecommerce
Búsqueda por texto con relevancia, autocompletado, corrección de errores, sinónimos y filtros por facetas (talla, precio, marca).
Logs y observabilidad
Centraliza registros de servidores y aplicaciones para detectar errores y medir el rendimiento, visualizándolos en Kibana.
Seguridad (SIEM)
Analiza eventos de seguridad en grandes volúmenes para detectar accesos sospechosos o ataques.
Analítica de datos
Agregaciones rápidas sobre millones de registros para cuadros de mando y métricas de negocio.
Búsqueda semántica e IA
Guarda vectores (embeddings) y hace búsquedas por similitud, base de muchos sistemas RAG que dan contexto a modelos de lenguaje.
Búsqueda en aplicaciones
Directorios, portales de empleo, inmobiliarias o bases de conocimiento internas con millones de fichas.
En proyectos de big data se usa como capa de consulta rápida sobre datos que llegan de forma continua. En el comercio electrónico, un buen buscador interno influye directamente en las ventas: si el cliente no encuentra el producto, no lo compra. Por eso en una tienda online a medida con catálogo grande suele compensar un motor de búsqueda dedicado en lugar del buscador básico del CMS.
03 Cómo funciona Elasticsearch: conceptos clave
Elasticsearch recibe documentos en formato JSON, analiza sus textos (los divide en términos, los pasa a minúsculas, elimina acentos o palabras vacías según la configuración) y construye un índice invertido: una lista que dice en qué documentos aparece cada término. Por eso puede responder a una búsqueda sin recorrer todos los documentos uno a uno. Para ordenar por relevancia usa por defecto el algoritmo BM25.
| Concepto | Qué es | Equivalente aproximado |
|---|---|---|
| Documento | Unidad de información en JSON (un producto, un log, un artículo) | Fila de una tabla |
| Índice | Colección de documentos con estructura parecida | Tabla o base de datos |
| Mapping | Definición de los campos y su tipo (texto, número, fecha, vector) | Esquema |
| Shard | Fragmento de un índice; permite repartirlo entre máquinas | Partición |
| Réplica | Copia de un shard para tolerancia a fallos y más lecturas | Réplica de lectura |
| Nodo | Cada servidor que ejecuta Elasticsearch | Servidor |
| Clúster | Conjunto de nodos que trabajan como un único sistema | Clúster |
Con una petición GET /productos/_search y una consulta match sobre el campo nombre con el texto «zapatillas running», Elasticsearch devuelve los productos ordenados por relevancia, junto con agregaciones como el número de resultados por marca o por rango de precio para pintar los filtros de la tienda.
Para consultar ofrece el Query DSL, un lenguaje de consultas en JSON muy completo, y ES|QL, un lenguaje con tuberías más cercano a SQL pensado para análisis. También admite SQL clásico para consultas sencillas.
04 Elastic Stack (ELK): Elasticsearch, Kibana, Logstash y Beats
Elasticsearch es el núcleo de un conjunto de herramientas que durante años se conoció como ELK por las iniciales de sus tres piezas principales. Hoy Elastic lo llama Elastic Stack.
Elasticsearch
Almacena, indexa, busca y analiza los datos.
Kibana
Interfaz web para explorar datos, crear cuadros de mando y administrar el clúster.
Logstash
Recoge datos de muchas fuentes, los transforma y los envía a Elasticsearch.
Beats y Elastic Agent
Agentes ligeros que se instalan en los servidores para enviar logs y métricas.
05 ¿Elasticsearch es gratis y de código abierto? Licencia y precio
La licencia de Elasticsearch ha cambiado dos veces y conviene conocer la historia, porque mucha información en internet está desactualizada.
| Periodo | Licencia | Qué supuso |
|---|---|---|
| 2010-2020 (hasta la 7.10) | Apache 2.0 | Código abierto permisivo |
| Enero de 2021 (desde la 7.11) | SSPL o Elastic License 2.0 | Deja de ser código abierto según la OSI; AWS crea el fork OpenSearch |
| Agosto de 2024 | Se añade AGPLv3 a las dos anteriores | Vuelve a haber una opción de código abierto aprobada por la OSI |
06 Cómo empezar a usar Elasticsearch
-
1
Elige dónde ejecutarlo
En local con Docker o con el paquete de descarga para pruebas, en tus propios servidores para producción o en Elastic Cloud si prefieres un servicio gestionado.
-
2
Crea un índice y su mapping
Define qué campos tendrá cada documento y de qué tipo son: texto para buscar, keyword para filtrar, números, fechas o vectores.
-
3
Indexa tus datos
Envía los documentos en JSON por la API, con la API bulk para cargas grandes o mediante conectores e integraciones.
-
4
Ajusta el análisis del texto
Configura el analizador de idioma español, sinónimos y tolerancia a errores para que las búsquedas encuentren lo que el usuario quiere decir.
-
5
Consulta y visualiza
Lanza búsquedas con Query DSL o ES|QL y usa Kibana para explorar los datos y crear cuadros de mando.
-
6
Monitoriza y dimensiona
Vigila memoria, disco y latencia, y ajusta el número de shards y réplicas a medida que crecen los datos.
07 Alternativas a Elasticsearch
| Herramienta | Tipo | Cuándo tiene sentido |
|---|---|---|
| OpenSearch | Fork de Elasticsearch 7.10, Apache 2.0, bajo la Linux Foundation | Quieres una API muy parecida con licencia Apache o usas AWS |
| Apache Solr | Motor de código abierto, también basado en Lucene | Proyectos que ya lo usan o equipos con experiencia en él |
| Algolia | Buscador como servicio (SaaS) | Buscador de ecommerce rápido de implantar sin gestionar servidores |
| Meilisearch y Typesense | Motores ligeros de código abierto | Webs y apps medianas que necesitan búsqueda instantánea sencilla |
| Búsqueda de la propia base de datos | Full-text de PostgreSQL o MySQL | Catálogos pequeños con búsquedas simples |
La elección depende del volumen de datos, del equipo técnico y del coste de operación. Para un buscador interno sencillo puede bastar con la base de datos; para millones de documentos, analítica o búsqueda semántica, Elasticsearch u OpenSearch siguen siendo la referencia. Si estás planteando un desarrollo web a medida con búsqueda avanzada, o un asistente que responda con la documentación de tu empresa, un equipo especializado en soluciones de inteligencia artificial para empresas puede ayudarte a decidir entre búsqueda por palabras clave, vectorial o híbrida.
Preguntas frecuentes sobre Elasticsearch
Es un motor de búsqueda y análisis distribuido basado en Apache Lucene. Sirve para crear buscadores rápidos en webs y apps, analizar logs, monitorizar sistemas y hacer búsqueda semántica con vectores.
Almacena datos y se consulta como una base de datos documental, pero está pensado para buscar y analizar, no para transacciones. Suele usarse junto a una base de datos principal.
La distribución por defecto es gratuita para usarla en tus propios servidores. Las funciones avanzadas, el soporte y los servicios gestionados en la nube son de pago.
Desde 2024 sí vuelve a serlo: su código se puede usar bajo AGPLv3, una licencia aprobada por la OSI, además de SSPL y Elastic License 2.0. Entre 2021 y 2024 no lo era.
OpenSearch es un fork creado por AWS en 2021 a partir de Elasticsearch 7.10 con licencia Apache 2.0. Comparten origen y gran parte de la API, pero evolucionan por separado.
Es el conjunto formado por Elasticsearch, Logstash y Kibana, al que después se sumó Beats. Elastic lo denomina hoy Elastic Stack.
Está escrito en Java y se basa en Apache Lucene, pero se usa desde cualquier lenguaje a través de su API REST y de clientes oficiales para Python, JavaScript, PHP, Java, .NET, Go o Ruby, entre otros.
Fuentes consultadas
Sobre el autor
Development Manager en appyweb
Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.
Ver perfil y artículos → Ver perfil en LinkedIn ↗