How does the product search on my website work?
Our platform now uses the Elastic.co Search Engine to serve search results to your website visitors.
Elastic Search is a sophisticated tool, provided by Elastic.co (which is a third party). It ranks search results based on relevancy.
What data does Elastic Search look at?
1. We provide Elastic Search with the following data about your products:
• Product name/title
• The name(s) of the categories it belongs to
• The name(s) of the brand it belongs to
• The names of any filters applied to the product
• The custom search keywords applied to the product
The data above is analysed by Elastic Search and applied with something called the light_english stemmer which means that a search for 'cats' will also result in a search for 'cat' (and other types of modifications of the English language). You can read more about the stemmer here.
2. We also provide Elastic Search with the following data about your products:
• SKU code (including SKU codes for variations)
• MPN
• GTIN
The data is analysed by Elastic Search and split into ngrams, which means that we look for close matches of this data as well. (So if an MPN is KLJHUK and the user searches for KJLHUK - there will still be a match).
ngrams are only used for SKU codes, MPN and GTIN data.
3. The product search also works with categories.For example if you have a category named 't-shirt' a search for t-shirt will return all the products belonging to that category.
4. Search keywords need to be 3 or more characters.
A search for 2 or 1 characters will return no results.
What next?
Both fields result in a list of search terms.
When a user completes a search on your website, the search query (i.e. keyword or keyphrases used) are matched against the search terms stored for each product.
The matching products are analysed for relevance. A relevancy score is computed by the search engine (using a complex formula which you can read more about here and here).
If a visitor uses more than one keyword then all keywords searched must match the search terms stored for the product. This is to prevent erroneous results being presented to the user (e.g. a search for 'red t-shirts' should not return a blue t-shirt).
Elastic Search then returns the results back to our platform and we display the results to your visitor, with the most relevant result ranked in position 1 and the least relevant in the last position.
Please note: Where a product (or variation) SKU code matches with the search query it is given a 'boost' in search rankings which means it will appear at the top (or near the top) of results. Where a search query matches with a SKU code other keywords in the search do not have to match with the product, the SKU code match is enough for the product to be returned in results.
What if I don't like the results that you're displaying?
A search engine is a very complicated tool. All search engines have to make a balance between showing all relevant products that match the search term used, and not showing results that don't match the search term used.
Along with this balance, we also have to make accommodations for all the different types of businesses that use our platform and the way their own visitors are prone to search for products.
Unfortunately, balancing the search engines results is an art and not a science.
The custom search keywords tool can be used by you to ensure that a particular product displays in search results when it otherwise would not. It's a free app that you can install in your account, and you can read more about it here.
If, having used custom search keywords, you are still concerned that the results displayed on your website are still not accurate please contact us.
Some ShopWired clients also use third party tools like Doofinder to provide a 'results as you type' search service on their websites.