B2B and Parts Catalogs: Why Search Needs Exact Match First, Semantic Second
Different buyers, different queries
A consumer browses; a B2B parts buyer usually arrives knowing exactly what they need. B2B parts catalog search is known-item search first, and treating it like consumer retail — semantic-first — gets the priorities backwards.
What dominates the queries
- Identifiers. Part numbers, SKUs, manufacturer codes, OEM cross-references. The buyer wants that part, exactly — not "similar."
- Fitment. "Brake pads for a 2015 model X." This is a structured lookup against a compatibility table, not a semantic-similarity question.
- Cross-references. This aftermarket part equals that OEM number, and the buyer searches by whichever one they're holding.
- Precision over recall. A "close" wrong part is worse than no result — it gets ordered, doesn't fit, and comes back.
Why exact-match-first
A part-number query has to hit the exact lexical match at rank one. Semantic similarity would surface parts with similar-looking numbers or descriptions, which is precisely the wrong behaviour for an identifier. The lexical retriever has to win when the query looks like a code.
Where semantic search still earns its place
The descriptive fraction of queries: "heavy-duty weatherproof connector," "the little clip that holds the trim panel," "the rubber seal for a chest freezer door." The buyer doesn't have a number, and semantic retrieval handles the intent where a keyword match can't. It also disambiguates vague queries into the right category.
The hybrid shape
A lexical retriever for identifiers and codes, weighted to dominate when the query matches a part-number pattern; a semantic retriever for descriptive queries; a lightweight query classifier that routes — an alphanumeric token pattern leans lexical, a sentence leans semantic. On our semantic search project exact-identifier queries were part of why pure vector search isn't enough; a parts catalogue makes that the main event rather than an edge case.
Fitment is its own layer
"Fits these vehicles or models" is a structured compatibility lookup that runs alongside search, not a ranking signal. Building and maintaining that compatibility database is often a bigger data project than the search itself — and if fitment questions are a meaningful share of your queries, it's not optional. Search without it can only answer "do you stock this part," not "does this part fit my vehicle," which is what many buyers actually came to find out.
The query classifier, concretely
A lightweight check decides which retriever leads:
- Looks like a part number — alphanumeric, dashes, few or no spaces, matches a known format? The lexical retriever wins; semantic runs as a backup for the rare typo.
- A natural-language phrase — words, spaces, adjectives? The semantic retriever leads; lexical is the backup.
- Ambiguous — run both and fuse the results.
It doesn't need to be a trained model — a set of pattern rules over your actual part-number formats gets most of the way there, and it's easy to audit when a query routes wrong.
Cross-reference expansion
When a buyer searches an OEM number, expand the query before retrieval to include the known aftermarket equivalents from your cross-reference table. Now the exact-match hit surfaces whether the buyer typed the OEM code or the aftermarket one — which is the difference between "found it" and "we don't stock that" for a part you actually carry under a different number.
Where this stops being right
- A genuinely all-descriptive catalogue — no part numbers, no fitment — is closer to consumer retail, and semantic-first is fine there.
- Buyers who only ever search by exact number may not need semantic search at all — good lexical search with cross-reference expansion is enough.
- No compatibility data means the fitment layer can't exist yet — that's the first project, not the search.
FAQ
Should B2B parts search be semantic? Hybrid — lexical exact-match weighted to win for part numbers and codes, semantic for the descriptive queries.
What about "brake pads for a 2015 model"? That's a fitment lookup against a structured compatibility table — run it alongside search, not as a ranking factor.
Is a "close" part-number match ever useful? Rarely. It usually leads to a wrong-fit order and a return. Exact-match-or-nothing is safer for identifiers.
What if we sell both parts and general merchandise? Route by catalogue section or by query pattern. The parts side gets exact-match-first, the general-merchandise side gets semantic-first — one search pipeline, two configurations.
ISTRALLEN builds parts-catalogue search that puts exact identifier matching first and semantic retrieval second; see AI for Retail.