This is a very common frustration I have. Eg, go search Amazon for "bike" and sort by price "low to high". None of the top hits are bicycles; they are all accessories.
ML seems to be about guessing what the user wants based on lots of data analysis. But I think there are lots of cases where letting the user tell you want they want, by providing a hierarchical menu or explicit filters, would get much better results.
One "low tech" thing I wish someone would build: an online grocery store with every product categorized by food restrictions (gluten-free, peanut-free, sugar-free, low-sodium, etc, as well as kosher, halal, vegan, etc). Check the boxes you care about in your profile and you'll only see things that match. This would be AMAZING for folks with food allergies. The implementation would be 99.9% up-front research and data entry; the actual filtering would be as simple as WHERE clauses. But I don't know of a site that does this.