In a website I have a large number of products. In the search page user can find the product by searching at the top of the page.

I can search in two methods.

  1. When user starts typing I can return all the products ( with a max limit ) that contains the search query as substring.
  2. Or i can return all the products that starts with the particular search query.

Considering the UX which search is more convenient for the user ?

Are there any test results based on the above problem ?

  • I would say it depends which kind of products you present. If you sell (let's say) electronic devices then I may simply search for "camera" (substring) and the other search (starts with) will be useless. In general searches are for substring (maybe full word) unless you're filtering single words and/or the first word is the most prominent. Commented Nov 10, 2015 at 7:54
  • What if they are softwares with clear names ?
    – Sooraj
    Commented Nov 10, 2015 at 10:47
  • What's names pattern? Vendor Product? In this case it won't add any value (if I want Microsoft products I can type Microsoft, if I want Microsoft Excel I can type Excel). Collisions will occur (searching for example Word) but they'll be relatively low and benefits (free search) are higher (IMO). It's different if you have a word list, imagine to search within a dictionary, in that case "starts with" search style is more appropriate (maybe). Commented Nov 10, 2015 at 10:52

1 Answer 1


I would stick to sub-string search, with these arguments in it's favor:

  1. users are used to it... Search engines, and most software works this way.

  2. If your user does not know exactly how you are writing your product's name (which is the situation), he wont know what the name start with!
    take "bright led light" which is almost impossible to search for "bright..."
    or if the product start with the vendor name (e.g. "Samsung Led-55Wpn" or something).

  3. adding on 2; you wont need to pick names for products too carefully.

  4. if searching within Description, Part-Number or other details is important, then you must use sub-string,

5... I find it hard to find any advantages to using start-with...

  • Another argument would be that sub-string generally finds more results.
    – Martyn
    Commented Nov 10, 2015 at 21:47
  • @Martijn you are correct, i didn't include it because sometimes, more results is not what you wish for.... the best scenario is to find a single result that the user want! =)
    – Tomer W
    Commented Nov 13, 2015 at 12:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.