Product Search (Preview)
When someone browses your site they can search for products either using a module or the main search interface in the shopping component. All searches for products use the same rules, and the different results you get are influenced by two major elements:
-
Filters: Things the user selects that limit how results are displayed to the user. For example, selecting a category is filtering for only that category – other categories are removed from the results. Regardless of other search matches the category filter will always discard products not in the requested category, even if it matches a keyword for example.
-
Relevancy: Sometimes you don’t want to entirely discard results, but instead rank them in an effort to show the customer useful results. To accomplish this keyword matches are assigned points, and the points are added up with higher points being more relevant and appearing earlier in the result listing.
Points
When searching for keywords a point system is used, and products are displayed in the order of highest points at the top of the list. Every search contains:
-
A search phrase which is the entire text entry given from the customer. For example “Big Red Ball” could have been entered by the user. The phrase only matches if the entire thing is present, so it would match “Big Red Balloon” but not “Big Red 30′ Ball”
-
A set of search words which are all the words from the phrase. The search phrase “Big Red Ball” gets separated into the words “Big”, “Red”, and “Ball”. Even though the phrase doesn’t match “Big Red 30′ Ball” when broken apart into words we see it matches 75% of the words.
When a search phrase is only a single word, like “Ball”, only phrase matching is used.
Here is the point system used for products and the various items being searched and matched to the phrase/words:
Item |
Points |
---|---|
Phrase |
|
Name Matches Phrase Exactly |
+100 |
Name Starts with Phrase |
+75 |
Name Contains Phrase |
+50 |
Keywords Contain Phrase |
+50 |
Short Desc. Contains Phrase |
+20 |
Long Desc. Contains Phrase |
+10 |
Each Word |
|
Name Starts with Word |
+50 |
Name Contains Word |
+25 |
Keywords Contain Word |
+25 |
SKU Starts with Word |
+30 |
SKU Contains Word |
+15 |
Short Desc. Contains Word |
+3 |
Long Desc. Contains Word |
+1 |
Results are given the points for each matching element. If the name of the product was “Big Blocks” and the search term was “Lock” it would get+10 because it has a partial name match. It does not get +25 for the prefix name match because the “B”.
Note: This was changed in October 2012 to add many new rules and clarify the difference between phrase and word matching
Confidence Weighting
In April of 2013 we added a feature that allows you to change how the point system is weighted:
There is a per-product setting in the Product Editor of the shopping cart. When editing a product go to the Search tab.
-
A value of 1.0 for any of the fields is the default value and changes nothing (the score is unchanged)
-
A value of 0.0 for the “Name” would stop this product from earning points for searches that match it’s name.
-
A value of 2.0 for the “Name” would make this product earn twice the points for searches that match it’s name.
These changes make it easier to custom tailor how the product search works without affecting your product data itself.