Explainers · updated July 2026
A vector database finds what’s similar, not what matches.
In one line: a vector database stores pieces of text as coordinates in a space of meaning, and its one trick is to answer “what’s nearest?” instead of “what’s an exact copy?” It’s the storage engine behind a Pinecone-style RAG setup and the reason Cursor can find the right function when you don’t know its name. It genuinely helps, for one kind of question. Here’s how it works in plain English, and the honest answer to “do you need one for code?”
How similarity search works
Meaning becomes distance. Nearest wins.
A model reads each chunk of text and hands back a list of a few hundred numbers, its coordinates. Similar ideas land at nearby coordinates, so “find code like this” becomes “find the closest points.” The database’s job is to store millions of those coordinates and, given your question turned into the same kind of coordinates, return the k nearest, ranked by a distance score, even when they share not one word with what you typed. That is the whole idea. The picture is the fastest way to see it, next to the other way to find code, an exact index that maps a literal word straight to the files that contain it.
Left is a vector database (Pinecone, and what Cursor builds for the repo you open). Right is an exact index (what Interlinked keeps for the whole machine). They answer different questions, which is exactly why they belong in the same stack, not in a fight.
Where a vector database shines
Brilliant, when you don’t know the words.
This is not a takedown. For one class of question, a vector database is exactly the right tool, and the products built on it are good. Pinecone is the storage layer behind most RAG setups; Cursor embeds the repo you open so you can ask “where do we handle refunds?” and get the right file without knowing its name. Three things they genuinely nail:
Ask in plain English and get the right function even when you don't know what it's called. “Give money back” finds issueCredit() with no shared words, the whole point of searching by distance.
“Explain the auth flow,” “what touches billing?” Questions with no single literal answer. Nearest-neighbour recall is built for exactly this, and it's why RAG feeds a model relevant context it would never have grepped for.
Similar ideas cluster even across languages and folders, so related code surfaces together without a shared keyword to search for. One query, a whole neighbourhood of intent.
Keep it. Nothing below asks you to give up your vector database or Cursor’s index. The point is only that “search by meaning” solves the fuzzy question, and a different, very common question needs the opposite guarantee.
Do you need one for code?
For meaning, maybe. For exact code, it’s the wrong shape.
A vector database is approximate on two levels. The embedding is an approximation of meaning; then, to stay fast over millions of vectors, the search itself is approximate nearest-neighbour: it deliberately doesn't check every point. Ask “where is this exact call site?” and you get the closest guesses, with no promise the one you meant is even in the top results.
Vectors are a snapshot. Rename a function, refactor a module, add a file, and the stored coordinates keep pointing at the old code until you re-index. Between rebuilds the database quietly describes a codebase that no longer exists.
Staying fresh means recomputing and re-loading vectors: compute, latency, cost, and a service to operate. For cloud RAG and Cursor, keeping current also means your code leaves the machine to be turned into vectors. It's a pipeline you own, not a free property.
None of this makes a vector database bad: it makes it a fuzzy-recall system with a maintenance cost. The trouble starts the moment an agent needs the opposite: the exact string, the current bytes, the symbol that changed thirty seconds ago, everywhere on the machine. That is not a meaning question. It is a lookup, and for a lookup you don’t need a vector database, you need an exact index.
The exact lane · Ryzen 9 9950X3D · 4.47M files
When you know the words, you want them exact.
A name, a symbol, a string, an error message: the moment the word is known, ranking-by-similarity is the wrong shape. You want every literal match, deterministically, fresh to the last save, across the whole machine. That’s a purpose-built indexed engine with no model inside to drift or re-load. Measured on the machine below:
Methodology: Ryzen 9 9950X3D · 64 GB DDR5 · NVMe · Windows 11 · 4,470,000 files. Filename figures are medians: 139 μs across 20 queries, 85 μs single-file; the same lookup is 412,000× a VS Code search and ~480,000× Windows Search. Content queries run about 7 to 9 ms, exact phrases near 16 ms. At rest the engine sits near 44 MB in Task Manager, and the on-disk index stays under 1% of the drive (~24 GB on a 4 TB machine). No embeddings, nothing to re-index.
The thesis
Keep the vector database. Add the exact lane under it.
A vector database and a live index aren’t rivals: they answer different questions, so they run in parallel. Point vectors at meaning, where fuzzy recall is the feature. Point the index at the exact file, symbol, string, or error message. Whole-machine, across every repo and the files git ignores, fresh to the last save. No model in the loop: every hit is a literal match you can verify, not a ranked guess, and nothing to re-embed. Interlinked is the exact-retrieval lane. It replaces neither your model nor your vector database; it’s the deterministic floor they stand on.
PARALLEL TO RAG · EXACT, FAST, FRESH · NO MODEL IN THE LOOP.
Give every agent the exact lane
Keep search-by-meaning. Add search-by-fact.
One signed installer indexes every file on your machine (names and contents) and wires up the AI clients you already use, with no JSON to edit, no cloud account, and no keys. Keep your vector database and Cursor’s index for the fuzzy questions; every agent also gets a fast, literal, whole-machine lookup for the exact ones. It stays fresh on its own: a save is searchable in about a millisecond, with no vectors to recompute.
Everything local is free forever, on all your devices, no card. Hosting starts at $5.99/mo. Download for Windows.
Related: What are embeddings for code? · RAG, a live index, or grep?