Elasticsearch
El motor distribuido de búsqueda full-text y analítica.
Elasticsearch es un motor de búsqueda y analítica distribuido y RESTful construido sobre Apache Lucene. Mueve barras de búsqueda, agregación de logs (stack ELK), catálogos de productos, analítica de seguridad y herramientas de observabilidad en empresas de todos los tamaños. Pier despliega una configuración single-node adecuada para desarrollo, testing y producción pequeña a mediana.
Desplegar con Pier
- 1 Abre el panel de Pier y haz clic en Add service.
- 2 Elige Elasticsearch en la lista de plantillas.
- 3 Elige la versión, asigna un nombre al servicio y Pier provisionará automáticamente el contenedor, el almacenamiento y los puertos.
- 4 Vincula un dominio si quieres HTTPS. Traefik genera el certificado de Let's Encrypt automáticamente.
¿Qué es Elasticsearch?
Elasticsearch es el motor de búsqueda full-text y analítica más desplegado del mundo. Empezó en 2010 como un wrapper distribuido sobre Apache Lucene y ha crecido hasta convertirse en la base del stack moderno de logging/observabilidad (la “E” en ELK + EFK), analítica de seguridad (SIEM) y aplicaciones search-driven en todas las industrias.
Su truco: almacena documentos JSON en shards, construye índices invertidos para búsqueda por keywords, construye índices de vectores densos para búsqueda semántica y expone todo vía una API REST JSON. Las agregaciones lo convierten en motor analítico en tiempo real. Autocomplete, fuzzy matching, analizadores multi-idioma y sinónimos lo convierten en el motor de barra de búsqueda para muchos sites e-commerce y productos SaaS.
Cómo lo despliega Pier
Pier usa la imagen oficial docker.elastic.co/elasticsearch/elasticsearch
(la latest actual es 8.x o 9.x según fecha). Puerto por defecto 9200/tcp
internamente. El volumen de datos se monta en
/usr/share/elasticsearch/data.
Una contraseña fuerte del usuario elastic se autogenera. La seguridad
(HTTPS + basic auth) está habilitada por defecto en Elasticsearch 8+;
puedes deshabilitar para uso interno de dev vía el override de env
xpack.security.enabled=false.
Para visualización, despliega la plantilla elasticsearch-kibana que
empaqueta Elasticsearch + Kibana con el wiring de env correcto. Para
clusters de producción con 3+ nodos, necesitarás orquestar manualmente —
la plantilla single-container de Pier apunta a dev y prod pequeña.
Cuándo NO usar Elasticsearch
Para observabilidad log-pesada a escala — ClickHouse almacena logs 10×
más barato. Para búsqueda pura de catálogo de productos — Meilisearch o
Typesense son más ligeros y fáciles de operar. Para despliegues
diminutos — la búsqueda full-text de Postgres con tsvector y un índice
GIN suele ser suficiente. Elasticsearch brilla cuando necesitas búsqueda
- analítica + agregaciones + búsqueda vectorial en un mismo motor.
Características clave
Búsqueda full-text potenciada
Índices invertidos, ranking BM25, fuzzy matching, autocomplete (edge n-grams), sinónimos, analizadores multi-idioma. Consulta en DSL JSON o sintaxis Lucene.
Distribuido por diseño
Shards (particionado horizontal) y réplicas (redundancia) integrados en el modelo de datos. Escala linealmente entre nodos; clusters de 100+ nodos son rutina.
Agregaciones y analítica
GROUP BY, percentiles, histogramas, agregaciones geo-espaciales, pipeline aggregations — Elasticsearch dobla como motor analítico en tiempo real sobre documentos JSON.
Lenguaje ES|QL
ES|QL (8.11+) añade una sintaxis tipo SQL con pipes para exploración ad-hoc. Menor barrera que Query DSL para principiantes.
Búsqueda vectorial
Campo de vector denso nativo y indexación HNSW desde 8.0. Cargas RAG y de búsqueda semántica — junto con BM25 clásico en una consulta híbrida única.
Ecosistema
Kibana para visualización, Logstash para pipelines de ingesta, Beats para shippers ligeros, clientes oficiales para Java/JS/Python/Go/Ruby/PHP/.NET/Rust.
Casos de uso
Búsqueda de aplicación y logs
La "E" en ELK. Beats / Fluent Bit / Vector envían logs de tus apps; Elasticsearch indexa; Kibana visualiza. Stack de observabilidad por defecto en miles de orgs.
Búsqueda de catálogo de productos
Navegación facetada, tolerancia a typos, sinónimos, boosts ponderados, recomendaciones. La barra de búsqueda de tu sitio e-commerce.
Analítica de seguridad (SIEM)
Elastic Security usa Elasticsearch como columna SIEM. Reglas de detección, analítica behavioural, threat hunting.
Búsqueda híbrida vector + léxica
Combina matching BM25 por keywords con similitud por vector denso. Lo mejor de ambos para RAG sobre documentos enterprise.
Métricas de negocio en tiempo real
Agregaciones sobre datos de eventos JSON dan analítica sub-segundo — ventas por región, sesiones por dispositivo, etc.
Ejemplos de código
curl -X POST "elasticsearch:9200/products/_doc" -H 'Content-Type: application/json' -d '{
"name": "iPhone 17 Pro",
"category": "phones",
"price": 1299,
"in_stock": true,
"tags": ["apple", "5g", "flagship"]
}' curl -X POST "elasticsearch:9200/products/_search" -H 'Content-Type: application/json' -d '{
"query": {
"bool": {
"must": [{ "match": { "name": "iphone" } }],
"filter": [{ "term": { "in_stock": true } }, { "range": { "price": { "lte": 1500 } } }]
}
},
"aggs": {
"categories": { "terms": { "field": "category" } }
}
}' FROM logs-*
| WHERE @timestamp > NOW() - 24 HOURS
| STATS count = COUNT(*) BY service.name
| SORT count DESC
| LIMIT 20 curl -X POST "elasticsearch:9200/products/_search" -d '{
"knn": {
"field": "embedding",
"query_vector": [0.1, 0.2, ...],
"k": 10,
"num_candidates": 100
}
}' Comparativa
| vs OpenSearch | OpenSearch es el fork Apache 2.0 de Elasticsearch (post cambio de licencia 7.10), mantenido por AWS + la comunidad. APIs altamente compatibles. Elige OpenSearch si quieres OSS estricto; Elasticsearch para las features más recientes. |
| vs ClickHouse | ClickHouse es 10× más barato almacenando datos estructurados de logs y más rápido en agregaciones. Elastic gana en búsqueda full-text y consultas ad-hoc JSON. Muchos stacks de observabilidad movieron logs de Elastic a ClickHouse pero mantuvieron Elastic para búsqueda. |
| vs Algolia / Typesense | Algolia es SaaS hosted — rápido, pulido, caro. Typesense es OSS y más ligero. Elasticsearch es más pesado pero cubre analítica + log search más allá del full-text puro. |
| vs Meilisearch | Meilisearch es un motor moderno full-text enfocado — más simple que Elastic, más fácil de operar. Elige Meili para búsqueda de catálogo de producto; Elastic para "búsqueda + analítica para todo". |
Preguntas frecuentes
¿Situación de licencia?
¿Requisitos de memoria?
¿Single-node o cluster?
¿Seguridad / auth?
¿Cómo conecto Kibana?
¿Indices vs Data Streams?
¿Estrategia de backup?
Servicios relacionados
Desplegar en tu VPS
Elasticsearch es un motor de búsqueda y analítica distribuido y RESTful construido sobre Apache Lucene. Mueve barras de búsqueda, agregación de logs (stack ELK), catálogos de productos, analítica de seguridad y herramientas de observabilidad en empresas de todos los tamaños. Pier despliega una configuración single-node adecuada para desarrollo, testing y producción pequeña a mediana.
Desplegar este servicio →