← All articles
Blog · July 2026

How to configure search by reference (SKU, DIN, ISO) on a B2B e-commerce site?

A buyer types a reference. The engine searches for it exactly. Your database stores it in a different format. Result: zero matches, even though the product is in stock.

On a general consumer catalog, keyword search is usually enough: a visitor types "red dress," the engine finds red dresses. On a technical B2B catalog, the problem is different: the buyer isn't searching for a category, they're searching for an exact reference: a screw designation, a standard, a supplier code.

Why keyword search fails on technical references

Default search engines split text word by word (called tokenization) and look for matches between those tokens. This works well for natural language, but poorly for structured strings like M8x20 or DIN 933.

The problem comes from format variation: the same reference might be stored as DIN933, DIN-933, or DIN 933 depending on who filled in the product sheet, and the query a customer types rarely matches that exact format. The engine doesn't make the connection: to it, these are different strings. What each engine on the market does with these spellings, according to its documentation: Algolia alternatives for a technical catalog.

The fix: regular expressions and normalization

Two complementary mechanisms solve this problem:

  • Normalization, before any comparison: casing is standardized in both the catalog and the typed query. It isn't enough for separators: DIN-933, DIN 933, and din933 remain three different splits of the text.
  • Regular expressions (regex): they let the engine recognize a reference format (for example, a metric screw designation) and extract its relevant components: diameter, length, standard. That recognition is what makes DIN-933, DIN 933, and din933 equivalent, since all three spellings produce the same standard.

In practice, a customer typing the reference with a space, a dash, or different casing finds the same products. An incomplete reference is another matter. Measured on our engine on September 15, 2026, on a test catalog of 12 screws: "DIN93" finds only one DIN 933 screw out of six, and "M8 30", typed without the "x", ranks the M8x30 screw at the same score as an M8x300.

A professional buyer who can't find a reference they already know doesn't keep looking on your site — they go to a competitor.

How to assess your own situation

A simple test: take five references from your catalog, type them into your search engine with a slightly different format than the one stored (extra space, missing dash, different casing). If more than one out of five fails, this is worth an audit — it's a structural configuration issue, not a content gap.

On WooCommerce, that test has already been run. An exact SKU returns zero results, because native search never reads that field: the three queries are measured here, on a real shop.

Corrected on September 15, 2026. This article credited normalization with making DIN-933, DIN 933, and din933 equivalent; it comes from format recognition. It claimed a partial reference still finds the right product, which our measurements don't confirm. And until the fix deployed that same day, our engine didn't match DIN-933 to the other two spellings.

14-day free trial

Try Heurix on your catalog, no credit card.

Start free trial