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

Check 100 candidates, not 10 million documents: Faster kNN filters in Elasticsearch
Elasticsearch now decides for each query whether to run a kNN filter before or after the vector search. On a 10M-vector corpus post-filtering was faster in 104 of 120 benchmark pairs while still returning k results.

Signed, sealed, delivered: ECK certificate management with Vault and cert-manager
Replace ECK's self-signed certificates with your enterprise PKI without renewing a certificate by hand, as Vault signs with a CA key sealed outside Kubernetes and cert-manager delivers fresh certificates to every Elasticsearch pod.

Using Jev as a search reranker: benchmarks and how to implement
We had Jev score Elasticsearch hybrid search results and let a short Python policy do the reranking, taking nDCG@10 from 0.9351 to 0.9565 on 250 Amazon Shopping Queries, and the code is all here.

How Elasticsearch Serverless hollow shards cut indexing-node shutdowns by 30%
Idle indexing shards in Elasticsearch Serverless now drop their Lucene writers and segment readers from memory until the next write, freeing indexing-tier heap at the cost of a median 218ms wait on that first write.

The best LLM writes correct Elasticsearch ES|QL 59% of the time. Here's what breaks the other 41%.
We scored 6,000 ES|QL queries from four models against BIRD's answer key. Most misses come from mismatched join keys, SQL syntax the parser rejects, counting after a one-to-many join, or a value the model guessed.

GPU-accelerated vector indexing in Elasticsearch with NVIDIA cuVS: 138M vectors in under 10 minutes
Moving index builds to the GPU leaves the CPU free for queries, which is how vector indexing throughput went up 7x and p90 search latency fell 6x while indexing ran, with no change to recall.

Ask Elastic Agent Builder why it's slow: Natural-language trace analysis
Four agent performance questions your Agent Builder traces can answer, covering token spend by model, tool error rates, slow conversation turns, and recent prompts. The ES|QL for each is here, including the type cast SUM() needs.

Agentic workflows in Elasticsearch: pause an AI agent for human approval, resume 72 hours later
Build AI agent orchestration where the workflow waits for a human approval and then executes the fix on its own, with nothing extra to provision and the whole decision trail queryable in Elasticsearch.

AI video search with Elasticsearch and Jina: Find the exact seconds of footage you need
Cut each clip at its shot boundaries and embed every scene as a vector, and a plain text query gives back the file plus the exact seconds to drop on a timeline.

jina-ocr-v1: One OCR model for layout, tables, math and 100+ languages
jina-ocr-v1 scores 83.4 on olmOCR-bench with 570 million active parameters, the highest of any OCR model under 600 million, and it outscores GPT-5.2 on OmniDocBench.

One button, three places: How we rebuilt Kibana's page headers with stricter APIs
We gave Kibana's shared shell typed contracts, which is how design system governance became the default, and why the new page headers have no breadcrumbs.

Columnar storage isn't a columnar database. What Columnar mode brings to Elasticsearch
Elasticsearch has stored data in columns since 2013, but adding full columnar database capabilities required a new mode.