Substring Matching

We are implementing a recipe search experience on our site and one thing I’m wondering is how to address substring matching.

For example, if a user searches for “corn,” we see a few results as expected but then results with “cornbread” or “corned beef” are getting prioritized over other results with just “corn” in the title.

What setting(s) would you recommend I adjust to ensure that direct results for “corn” are prioritized over “cornbread”?

By default, the last word in a query is interpreted as a prefix. This is why corn matches cornbread and corned beef. Note that this applies only to the last word, so corn flakes will not match cornbread nor corned beef.

Prefix search actually allows as-you-type results, i.e. building an instant search result page, where results are updated live as the user types. Without prefix search, you would have to wait for the user to enter an entire word before displaying any meaningful result.

We do believe that prefix search makes for a good user experience. However, if you want to disable it, you may do so by setting the queryType parameter to prefixNone. I would advise strong A/B testing before activating this setting, to make sure it really improves relevance in your case.

Thanks Clement. We actually do have Instant Search implemented already and are liking it.

The prefix makes sense, however the strange thing is that results for cornbread and corned beef are being returned above other results with just corn in the title. Any ideas?