When we are asked to improve search, the first thing we look at is the catalogue, not the ranking. In most cases the product data is inconsistent in ways that make good retrieval impossible: attributes populated for some suppliers and not others, colour recorded three different ways, descriptions written by whoever loaded the product, categories that made sense five years ago.
A semantic search layer over that catalogue improves matters, sometimes substantially, because embeddings tolerate vocabulary mismatch in a way keyword matching does not. But it cannot invent the fact that a product is waterproof if nothing in its record says so, and no amount of model sophistication fixes an attribute that does not exist.
So the honest sequence is: fix and enrich the catalogue — which language models are genuinely good at, extracting structured attributes from supplier descriptions and images at a scale nobody would fund manually — then put semantic retrieval and reranking over the result. Teams that do it in that order tend to get large improvements. Teams that skip the first step tend to get a modest one and conclude the technology is oversold.