🚗 Solutions · Automotive

Automotive: three suppliers, three reference grammars

Three brake pads stacked on a midnight blue background, the top one stamped with the reference SUPP-CODE-987.

A buyer of car parts almost never searches by name. They type a reference — and there is no single reference convention, there is one per supplier.

There is no single reference grammar — there is one per brand

This is what sets automotive apart from other technical verticals. In fasteners, M8x20 reads the same way at every manufacturer. Here, 0986494574 is a Bosch reference, W712/75 a MANN filter, 598123 a Valeo part. Three shapes with nothing in common, for the same buying gesture.

A general-purpose engine sees only character strings there, and it fails as soon as the spelling shifts — a space, a hyphen, a case change. The automobile rule pack recognizes each convention separately, then adds what the buyer always specifies: the axle, the side and the engine type (the detail of each attribute).

Reference, position and engine type kept apart

The automobile rule pack activates when you pick your industry, at indexing time. It produces these annotations, each of which becomes a usable filter:

AnnotationWhat it isolates
REF_BOSCH_0986494574a reference in the Bosch convention
REF_MANN_w712/75a reference in the MANN convention, slash included
REF_VALEO_598123a reference in the Valeo convention
POS_AVANT · POS_ARRIEREthe axle, which the buyer always specifies
COTE_GAUCHE · COTE_DROITthe mounting side
CARB_DIESEL · CARB_ESSENCEthe engine type, including by its trade name — HDi, TDi, TSI
CYL_1.6the engine displacement
DIAM_280MMa brake disc diameter

To these is added the part family — braking, filtration, suspension, timing, ignition, clutch, exhaust — recognized in five languages, because a distributor's catalog aggregates imports from across Europe. Level 2 draws four combinations from that, covering most of the ordering mistakes of the trade: FREIN_AVANT and FREIN_ARRIERE, because pads fitted to the wrong axle come straight back to the counter; SUSP_COTE_DROIT, which keeps a damper's side — the attribute a buyer forgets to state and the salesperson has to ask for; and FILTRE_DIESEL, which separates two fuel filters whose wording differs by a single word.

Five references, exactly as a supplier writes them

Indexed referenceWhat the engine extracts
Plaquettes de frein avant BOSCH 0986494574FAM_FREINAGE · POS_AVANT · FREIN_AVANT · REF_BOSCH_0986494574brake pads, front axle, Bosch reference
Filtre a huile MANN W712/75FAM_FILTRATION · REF_MANN_w712/75filtration, MANN reference
Disque de frein arriere 280mm BREMBOFAM_FREINAGE · POS_ARRIERE · FREIN_ARRIERE · DIAM_280MMdisc, rear axle, 280 mm diameter
Amortisseur avant gauche BILSTEINFAM_SUSPENSION · POS_AVANT · COTE_GAUCHE · SUSP_COTE_GAUCHEsuspension, front, left-hand side
Filtre a carburant diesel 1.6 HDi PURFLUXFAM_FILTRATION · CARB_DIESEL · CYL_1.6 · FILTRE_DIESELfiltration, diesel, 1.6

Front pads are not rear pads

This is what the second pass exists for. Taken separately, “pads” and “front” are two words any engine can find. The product, however, is the pair: fitting rear pads at the front is not an approximation, it is a return.

So the engine first annotates each attribute on its own, then reads its own annotations back to form the buying pairs: FREIN_AVANT, FREIN_ARRIERE, SUSP_COTE_GAUCHE, FILTRE_DIESEL. That last one is worth underlining: a diesel fuel filter and its petrol equivalent often carry the same wording bar one word, and confusing them costs an engine.

Diagram: the two-pass cascade on the record “Brake pads front Bosch 0986494574”. Pass 1 matches each pattern on its own and produces FAM_FREINAGE, POS_AVANT and REF_BOSCH_0986494574. Pass 2 no longer reads the record but that annotation stream: FAM_FREINAGE with POS_AVANT yields FREIN_AVANT, while FREIN_ARRIERE is not produced because POS_ARRIERE is absent.

What the pack does not recognize

One point deserves to be stated before indexing, because it touches this industry's most frequent buying gesture.

OEM references are not recognized, and equivalences do not exist. The three conventions above belong to aftermarket suppliers. An original reference — 7701206339 at Renault, 06A115561B in the VAG group — is identified as such by no rule, and nothing links a Bosch pad to the OEM reference it replaces.

This is not a shortcoming of the pack, it is a limit of kind. A rule recognizes a shape: “ten digits starting with zero”. An equivalence is a table — the fact that one reference replaces another is written nowhere in the shape of the two strings. No rule, however well written, will produce that information.

What remains possible, and asks nothing of Heurix. Most distributors hold their own equivalence table — it comes from their supplier. It is enough to carry the original references into an indexed field of the product: the engine then finds them as text, with no dedicated annotation but with correct recall. That is the move that makes a parts catalog genuinely searchable, and it belongs to you.

The taxonomy already built for you

The automotive pack isolates the axle, the side and the engine type as filterable attributes, not as text. You can then offer a “front braking” or “1.6 diesel filtration” page without building the taxonomy yourself.

A supplier the pack does not know yet, or a naming scheme internal to your catalog? Add your own Custom Rule from the console, describing what it should recognize — with no regex to write.

Indexing your catalog

The getting started guide covers the full setup, from signup to your first indexed catalog. The documentation details every endpoint.

Watch the breakdown happen. The table above is the engine's output, not hand-written. The same mechanism runs on the home page, with no signup — on a hardware or fashion catalog, not automotive parts. What you see there is the annotation mechanism itself, the one the automobile pack applies to your OEM references and mounting positions.

Open the live engine →
14-day free trial

Test the Search API on your catalog, no credit card.

See pricing