Blogs
Developer insights and practical how-to articles from our experts to inspire and empower your search experience.

Two lines of JSON to replace your ILM policy: data stream lifecycle adds frozen tier support
In Elasticsearch 9.5, frozen_after in data stream lifecycle moves indices to searchable snapshots on object storage on their own, keeping them queryable alongside downsampling and retention.

0.35% trained, 100% competitive: the frozen-tower architecture behind jina-embeddings-v5-omni
The latest jina embeddings model generates multimodal embeddings for text, images, video and audio, competing with models nearly 6x its size on vector search while training just 0.35% of the weights.

Faster, cheaper support investigations with precomputed context
Precomputed context cut input tokens by 58% and latency by 40% in Elastic’s support agent, making support investigations more efficient by reducing repeated retrieval.

Building context in Elasticsearch: how AI Indices power smarter agents using fewer tokens
Store AI agent context in an AI Index and power smarter agents using fewer tokens. Step-by-step walkthrough with ES|QL and Kibana Workflows included.

How Elasticsearch's batched query phase improves search performance at scale
The batched query phase can cut search execution time in half by reducing transport overhead and better distributing reduction work across the cluster.

Elasticsearch as one platform: What a second data system really costs
Running search, analytics, metrics, logs, and vector retrieval in five systems costs more than five licenses. Here's what one platform looks like in practice.

One query, three data sources: ES|QL subqueries get FROM, TS and ROW
Filter application logs by live metric behavior and combine indexed data with inline test values. Your filter lists pull from time-series data on the fly, so nothing is hard-coded.

One ES|QL query instead of two: WHERE IN subquery replaces the copy-paste loop in Elasticsearch
ES|QL's WHERE clause can filter by another Elasticsearch subquery's results instead of a static ID list you copied by hand, with nested subqueries, NOT IN and compound conditions built in.

The mystery stress your heap chart can't see: AutoOps now watches vector off-heap memory
Dense vectors use off-heap memory your heap chart never shows. AutoOps detects memory pressure before vector RAM stress causes OOM.

From search to checkout in 20 lines of code: building a 4-stage conversion funnel with OpenTelemetry
Add cart and purchase tracking to your search analytics pipeline and use ES|QL to answer the question every product manager asks: which search queries drive the most revenue?

Kibana Dashboards API: A stable contract for every panel type, tested by 50+ teams before GA
Manage Kibana dashboards as code: Commit to Git, promote across environments, and automate deployments with the Kibana API and Terraform.
