On our Website when a customer searches “shell” it does not bring up items with the description “shells.” Is it possible to enable results that contain the words being searched within other words without having to add them as keywords?
We too have this problem but view it as being related to singular/plural versions of a word and it would be great to fix. At the moment if someone searches for the plural version of something, it cleverly returns the singular version in the results (so an example if someone searches for “Wall Lights” it returns everything with “Wall Light” in - brilliant.
We see this issue as a request to also work the other way round - so if someone searches for the singular version of something, the search also looks for the plural version of that word. So if someone searches for “Door Knob” it also looks for all things containing “Door Knobs” as well.
Since we sell many things in pairs (door knobs, handles etc), this is an issue for us when a customer doesn’t search for the plural version. Is this a possible solution?
I guess it wouldn’t be smart enough to know not to also pluralise ‘door’ in ‘door knobs’; it’s more likely to add the extra search terms as ‘doors knobs’. It would maintain the original search keywords so that shouldn’t matter. (Ends up searching for keywords: door knob doors knobs.)
Emma- How did you get the plural search term to bring up items with the singular term in them?
Donogh- Although adding “s” to the search terms would help, would it be possible to have the search engine search by contains instead of exact words? Right now if the exact word is not in the description the item does not come up. So if a customer searched for key words “Shell Shells” no items would come up because no items have those two words in the their description. Is there a search setting I am missing?
I hope that makes sense and thank you for all of your help.
Well I am a bit confused now, maybe I’m misunderstanding you Donogh? Ours is definitely an AND based search, and that is exactly how we need it - this is brilliant for long tail searches and produces highly relevant results for users. It would be disastrous to go back to being OR based.
Example on our website www.broughtons.com search for “brass outside wall lights” (not actually entering the quotes). It brings back results with “brass” AND “outside” AND “wall” AND “light” in the keywords - perfect. If it was OR-based it would return over 3,000 products - most not even being lights so it would be rubbish.
Customers who use site search convert at 5 times the rate of other visitors so its working really well right now.
We are on Early Adopters branch, and I recall prior to that it was OR-based. We have just default configuration I think - maybe that is the difference?
In truth that’s an oversimplification. We do different kinds of searches depending on the keywords. It’s based on MySQL search. Sometimes we search ‘IN BOOLEAN MODE’ and other times we don’t.
Keyword search hasn’t really changed all that much to be honest. Aside from the addition of keyword filters to PFS.
If a customer searches, Ocean Shell. Is it possible for the results to include items that have the word Ocean AND Shell, Shells, Shelling because they all have the word shell in them? That is what I am trying to understand.
Understood that its complex in general. We would love the singular/plural thing to be sorted so it doesn’t matter if its the singular or the plural version of the word(s) in the search text or the keywords. But we wouldn’t want to jeopardize the fact that our “real world” searches tend to be AND based and we are happy with that. So a search for “Door Knob” would look for (“Door” OR “Doors”) AND (“Knob” OR “Knobs”) and would produce exactly the same results as a search for “Door Knobs”. So is it possible to make this change without affecting the existing rules of whether to use boolean mode?
@retail Will - my apologies for hijacking your post. For us, I don’t think we would want the type of substring search you are suggesting as it might return irrelevant products just because of a coincidence of grammar. However the singular/plural thing would perhaps go a good way to help?
We’ll try it out and see how it performs. We might make the new plural expansion feature optional so as not to alter existing default search behavior too much.
Will, regarding, Shell and Shells: yes, that will be possible based on what we’re talking about adding. ‘Shelling’ won’t I’m afraid. We can alter just your search to always look for partial matches – it’d effectively add ‘%’ to the end of each word. As Emma points out, though, it does make search less accurate generally because you’re potentially matches lots of items that use words with the same stems.
Have you ever considered adding a ‘similar word’ or ‘search term’ look up table that would allow users to marry up search terms with common aliases?
Lending from Will’s example above, the table would allow the creation of aliases for the search term ocean, which when searched would then also display matches for any of the other search terms. Conversely, a search for shell would also show the other results as the rule certainly doesn’t need to only flow one way, although that could be selectable option if required.
ocean > shell > shells > shelling
An example from our site might be linking chicken coops with common searches:
chicken coop > chicken coup > chicken pen > chicken house > hen house
Grouping in this way would provide the same search results no matter which term was being searched for and aside from the examples I’ve shown here would allow you to add rules to cover common misspellings.
I believe this to be a far more elegant solution than trying to maintain keywords on products which requires constant attention when new products are added. With this method you need only create the rule once as new products will be covered providing they have the search terms contained within the product name or description.
I imagine you could still use the current search technique but simply append the SQL call to include the additional LIKE modifiers if the search term exists within the alias array.
MySQL search isn’t well-equipped to handle these types of searches. If we were going that route, we would likely switch to dedicated search software, something like Sphinx: http://sphinxsearch.com/
I’m afraid we don’t have any immediate plans to do a major overhaul of search on the store.