The core of the e-commerce part of the overall solution. This is an ecommerce shopping cart solution built on top of the DNN (DotNetNuke) CMS. Anyone can do commerce online now!
When a visitor is searching for products, it may be difficult to find them on stores with a larger product catalog. An autosuggest feature might improve the user experience for most stores by suggesting products based on the value in the search input.
Describe the solution you'd like
When a visitor types in 3 or more characters, an underlying web service should be called to find products that match the 3 (or more characters) in the search input. The search algorithm should first find all products in the catalog based on a partial matching search. It doesn't need to search by the beginning, but any value in the relevant search/index fields. The suggested products should take into account the underlying metadata that can be gathered from the following and rank the values based on an aggregated popularity rating.
Number of searches that turn up the product
Number of times the product has been purchased
Number of times the product has been viewed
Number of times the product has been added to a wish list
This approach may require that we implement an ongoing index table that regularly updates the product suggest ratio mentioned above to make the results display faster and prevent other potentially related performance issues areas.
The search itself that triggers the autosuggest should only look at the following values:
Product: Name
Product: SKU
Product: Meta Title
Product: Meta Keywords
Product: Meta Description
Product: Page URL
The autosuggest algorithm should follow a "contains" pattern. Meaning that searching for after might return all of the following products in a catalog (examples using a fictional bookstore book titles):
After Hours
Don't Water After Midnight
What Are You After
Coffee is Better in the Afternoon
What is the Afterlife All About
What's more, a search for aft could potentially return the same results.
Describe alternatives you've considered
None at this time.
Additional context
Such a feature has been requested a handful of times over the years, but the desired implementation is generally specific to the type of store that's been requesting the feature.
When implementing, we may need to consider adding a configuration view in the store administration. Examples of potential configuration settings might include:
Overriding the search algorithm noted above (maybe add/change weights to the index options).
Is your feature request related to a problem?
When a visitor is searching for products, it may be difficult to find them on stores with a larger product catalog. An autosuggest feature might improve the user experience for most stores by suggesting products based on the value in the search input.
Describe the solution you'd like
When a visitor types in 3 or more characters, an underlying web service should be called to find products that match the 3 (or more characters) in the search input. The search algorithm should first find all products in the catalog based on a partial matching search. It doesn't need to search by the beginning, but any value in the relevant search/index fields. The suggested products should take into account the underlying metadata that can be gathered from the following and rank the values based on an aggregated popularity rating.
This approach may require that we implement an ongoing index table that regularly updates the product suggest ratio mentioned above to make the results display faster and prevent other potentially related performance issues areas.
The search itself that triggers the autosuggest should only look at the following values:
The autosuggest algorithm should follow a "contains" pattern. Meaning that searching for
after
might return all of the following products in a catalog (examples using a fictional bookstore book titles):After
HoursAfter
MidnightAfter
After
noonAfter
life All AboutWhat's more, a search for
aft
could potentially return the same results.Describe alternatives you've considered
None at this time.
Additional context
Such a feature has been requested a handful of times over the years, but the desired implementation is generally specific to the type of store that's been requesting the feature.
When implementing, we may need to consider adding a configuration view in the store administration. Examples of potential configuration settings might include: