Do you know why BM25 is still useful when we have vector search?
BM25 stops rewarding the 20th "cat" in a document.
Plain TF-IDF lets term frequency grow without limit.
A keyword-stuffed page outranks a good one.
Two parameters fix that.
k1 caps repetition. The term frequency
Before: look up the field name, check the metric type, pick the right aggregation, build the chart. Per metric.
Now: type TS metrics-* in Kibana Discover.
Discover appends METRICS_INFO to your query behind the scenes. One row per metric: name, type, unit, dimensions, and the
Write load hotspots can hide inside a single weighted score.
Elasticsearch sums 4 shard metrics into 1 score per node.
High write load and low shard count cancel out.
The node looks balanced, but the hotspot stays put.
Elasticsearch Serverless stopped using a single score.
1 question to an AI agent: 24 spans, 10 model calls, 160K input tokens.
Elastic 9.5 records all of it out of the box. There's no collector to set up.
Every Agent Builder run lands as OTel traces in your own cluster, down to each ES|QL query the agent wrote and which index it
Answering from precomputed facts cut agent token use by 93%.
Standard agentic RAG retrieves whole documents and dumps them into context on every question. The cost repeats with every miss.
We precomputed the facts instead. A Kibana Workflow distills each document into a