Elasticsearch
Relevance tuning, the DSL by hand, and two 6.x → 8.x migrations that stayed online.
Near-realtime
Backend & Search Engineer · Gurugram, IN
I teach machines what people mean — not just what they type. Five years of search platforms and ranking models that stay calm at 25K requests a minute.

01 — Live · query understanding
Search sits where language meets systems, and that’s exactly where I like to live. Query understanding, ranking models, ingestion pipelines that never sleep — the result is platforms serving 25K+ requests a minute across a 10-million-product catalog that still feel personal.
Search something. Watch it think.
Type anything and it parses your words into entities, recalls candidates with BM25, then re-ranks them — every row tells you why it landed where it did.
Start typing to search 162 products.
// real BM25 + rule-based NER, in your browser · CTR/ATC are synthetic priors, not telemetry
Lexical match gets you candidates. Synonyms, attribute fit and demand signals decide who actually deserves the top slot.
02 — Experience
Four roles · one rail
03 — Skills
Depth beats breadth in search work — most of my day happens inside the first three. Everything below them is a tool I have shipped, not a tool I have read about.
Relevance tuning, the DSL by hand, and two 6.x → 8.x migrations that stayed online.
Search services that hold their nerve under load, with the hot path kept in Redis.
Rescore pipelines, feature logging, and the judgement work that decides what better means.
Search & data
Language
Backend
Infra
Anything on this page, I can walk you through in the code.
Full stack on the CV ↓04 — Lab
Right now that means one thing: giving Elasticsearch a conversation layer. An agent that holds a real connection to my cluster, understands what I’m asking in English, and does the indexing work itself.
A skill for Claude that reads a codebase and turns it into an interactive service map — services, stages, steps and decisions, each node carrying its logic, its external calls, its data flow and a confidence tag. Output is one offline HTML file. It will also write an interview prep pack from what it found.
ScopeFact registerModelBuild & checkDeliver
An Elasticsearch agent that speaks plain English. Ask it a question and it plans the query, runs it against my live cluster and answers. Describe a schema and it writes the mapping and creates the index — no console, no JSON by hand.
Plain EnglishAgentMCP connectorElastic cluster
Experiments with XGBRanker rescore pipelines for search relevance tuning — feature logging, training on click data, and the judgement work that decides what better means.
Feature logTrainRescoreJudge
NER and semantic tagging to parse intent out of raw search queries — turning what people type into fields a search engine can use. The live demo further up this page is this work, running in your browser on a small catalogue.
ParseRecogniseRewriteSearch
Some become production features. Some stay internal tools. Some just teach me something.
05 — Archive
Two kinds of writing: engineering notes I published as I worked things out, and papers written with a proper method section.
Engineering noteson Medium
All posts ↗Published researchpeer reviewed
2 papersHow interpretable knowledge can be pulled back out of models trained on handwritten-digit recognition.
A comparative analysis of detection and recognition pipelines for attendance automation.
On videowalkthrough
Watch on YouTube ↗YouTube · Demo
Walking through captured heap dumps in Dynatrace — reading allocation hotspots and tracing them back to the code that caused them.
Open in YouTube ↗Written to be read later, mostly by me.
06 — Elsewhere
@abhiinav.exe