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

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.

You and your AI agent shouldn't be using curl: Introducing the Elastic CLI and Agent Skills
Elastic CLI reaches every Elasticsearch, Kibana and Cloud API from one command, and it's what Elastic Agent Skills run on. Input is validated against a JSON Schema before anything leaves your machine, and API keys stay in your OS keychain.

How we built PromQL into Elasticsearch
PromQL runs on the same Elasticsearch compute engine as ES|QL, with no plugin and no separate process to operate. Getting there meant changing how the engine evaluates time windows and builds grouping keys.

Trust, but benchmark: How we let an AI agent optimize Elasticsearch
We share how we built a harness that automatically identifies and implements optimizations in the Elasticsearch codebase.

Elasticsearch Vector Database: Ship in minutes, scale affordably to hundreds of billions
The hard parts of hybrid retrieval, already done, with optimized defaults, third party and native Jina AI models, and managed GPU inference all out of the box. Build fast, scalable AI apps, not infrastructure.

One field, one copy: How Elasticsearch columnar storage drops the inverted index
Storing each field once means no inverted index, so doc values now read in bulk and skippers let queries skip whole ranges of documents, while new mapping attributes control what each field is allowed to contain.

Query rewrite rules in Elasticsearch: 2.3x faster wildcard scans
A second rule makes empty-string filters 1.6x faster. It reads string lengths straight from the offset array and never touches the compressed bytes. Both rules came from the same habit of running real queries and hunting for the special case.

Backfill time series data in Elasticsearch: Load months of historical metrics through the bulk API
Elasticsearch works out the time boundaries and creates the past backing indices as the documents land, so a historical data migration runs on your normal ingest path.

Introducing SPARKLINE in ES|QL: Spot trends at a glance
Spot trends across thousands of groups at a glance without leaving your workflow. ES|QL's new SPARKLINE function turns aggregations into trend lines. One array per row, zero effort.