Why vector search fails on technical catalogs
Semantic similarity is a real advance. It's also the wrong tool when your references encode dimensions, standards, and identifiers — and here's precisely why.
What a vector engine does, and why it's brilliant
A vector engine turns each piece of text into a series of numbers — a point in a space with several hundred dimensions. Two texts with close meaning end up close together in that space. That's what lets a search for "running shoes" find "running sneakers," with no synonym ever declared.
On natural language, it's a considerable advance. On a fashion, furniture, or editorial content catalog, semantic similarity answers the need exactly: the buyer describes what they want in their own words, the engine understands the intent.
So the problem isn't the technique. It's whether it fits a particular type of catalog.
The core of the problem: a distance that doesn't measure the right thing
Take two fastener references, as they exist in any hardware catalog:
| Reference | Semantic distance | Commercial distance |
|---|---|---|
| M8 x 20 - Stainless A2 - DIN 933 | Nearly zero — the two texts are almost identical | Total — these are two incompatible products |
| M8 x 25 - Stainless A2 - DIN 933 |
A vector engine isn't incapable of distinguishing these two strings: "20" and "25" are indeed two different tokens. The problem lies elsewhere, and it's more fundamental: the distance it computes doesn't correlate with the distance that matters. Between these two references, the difference in meaning is tiny while the difference in use is absolute. A screw 5mm too long goes straight through the part.
It's this mismatch that produces the symptoms technical distributors know well: results that are "close" but wrong, degraded trust in search, and merchandise returns nobody links back to the engine.
Three more cases where the gap widens
The suffix that changes everything
In spare parts, the decisive information is often the suffix. A 6204-2RS bearing and a 6204-ZZ bearing carry the same number and differ in their sealing: rubber gaskets versus sheet-metal shields. Two characters apart in the text, two non-interchangeable parts on a machine in production.
The identifier with several spellings
An ISBN appears just as validly as 978-2-07-041311-9 or 9782070413119. These are two spellings of the same identifier, and a buyer will use one or the other depending on their source. An engine that treats these strings as plain text considers them different — when they're the same book.
Conversely, two editions of the same title share the same name, the same author, sometimes the same cover — and two distinct ISBNs. Semantically, they're interchangeable. Commercially, they're two products, two prices, two availabilities.
The number that isn't a quantity
On a wine, 2015 is a vintage, not a quantity or a price. A generalist engine treats it as a number like any other — and a search for "magnum 2015" then surfaces everything containing "2015" anywhere, including an internal reference code or a $20.15 price.
The opposite approach: recognizing structure
Heurix doesn't compute a semantic distance. It recognizes a reference's structure, through a cascade of rules, and extracts usable attributes from it. On the two screws from earlier:
| Reference | What the engine extracts |
|---|---|
| M8 x 20 - Stainless A2 - DIN 933 | DIAM_M8 LONG_20 MAT_INOX NORME_DIN933 |
| M8 x 25 - Stainless A2 - DIN 933 | DIAM_M8 LONG_25 MAT_INOX NORME_DIN933 |
The two references share their diameter, material, and standard. They differ on length, isolated as an attribute in its own right — so filterable, comparable, and never confused. The engine doesn't get this wrong because it isn't estimating it: it's reading it.
One useful consequence: every result can explain why it came up. Exact match, tolerated typo, recognized annotation. A vector ranking, by contrast, is hard to explain — proximity in a 768-dimension space doesn't tell a story.
How to know which side you're on
The question isn't which technique is superior, but which one fits your catalog. A few concrete signs:
| Semantic similarity fits if… | Structure recognition fits if… |
|---|---|
| Your customers describe a need in their own words Your products are distinguished by style, use, or mood An "approximate" answer is satisfying |
Your customers type a reference or an identifier Your products are distinguished by dimensions, standards, suffixes An approximate answer is an order mistake |
Many catalogs fall into both, depending on the page and the visitor. The mistake isn't picking one technique — it's believing one alone is enough.
A test you can run today, on your own engine
No new tool, no phone call needed:
- Pick two references that differ only by one dimension — two lengths, two diameters, two suffixes.
- Search for the first one in your current engine.
- Check whether the second one shows up, and at what rank.
If it comes up right after, your engine is measuring text resemblance, not product difference. Repeat the exercise with an identifier written in two formats, with and without punctuation — the gap is often even more telling.
Going further
The engine's principles are detailed on the homepage, and each industry has its own dedicated page: hardware & tools, spare parts, books & publishing, wine & spirits.