Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Autosuggest for Search Input #371

Open
WillStrohl opened this issue Sep 13, 2021 · 0 comments
Open

CI: Autosuggest for Search Input #371

WillStrohl opened this issue Sep 13, 2021 · 0 comments
Milestone

Comments

@WillStrohl
Copy link
Member

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.

  • 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).
  • Omitting or adding potential search index fields.
@WillStrohl WillStrohl added this to the 03.09.00 milestone Jul 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant