Most of the eCommerce stores need a good search. If you’ve been using Magento for a while, you know how challenging it can be to achieve a good search function without investing an additional budget in third-party service providers. Historically, the search was not the strongest part of the Magento platform. With Magento 1, we had it with a very simple algorithm that didn’t provide good results most of the time. With Magento 2, there’s a new search engine option based on ElasticSearch. The last one is much better in terms of search results relevancy and additional features such as synonyms etc. However, without additional tweaks and modifications, it’s still not the best option.
At Adobe Summit 2021, a new service, Adobe Commerce Live Search was introduced. Adobe’s official search solution is aimed at bringing the search to a new level by utilizing AI and other modern technologies. If you are a lucky owner of an Adobe Commerce license, you may use this service free of charge by installing the corresponding module from the marketplace Magento Live Search. The most interesting fact about this new module is that it represents the new service-based approach that Adobe, most likely, will use as the main idea for the future versions of the platform. But let’s get back to this fact later after reviewing the features.
Adobe Live Search Installation Process
As it was said, the module installation process is the same as for the other modules. The only difference is that you will need to generate an API key from your Magento account. Your Adobe Commerce installation will use this key to communicate with other Adobe services. After the module is installed and configured, you may need to wait some time for all the data to be indexed. Since the product is still in beta, there’s no easy way to see how many of your products are processed. Anyway, if you experience issues with the search and no errors are thrown at your face – try to give it some time.
If you have configured everything correctly, you should see the new Adobe Live Search item on the Marketing tab of your admin panel.
Once there, you will find a screen that allows you to configure facets, synonyms, rules, or perform API requests to the search engine.
Facets are attributes that will be visible in your filters (layered navigation) on a Magento product listing page. You may add some dropdown attributes in a standard way from Admin -> Attributes -> Product, and you will see the newly added attributes in the Faceting section of the Live Search configuration. Once again, you may need some time to have the newly added attributes populated in the search configuration. For now, the configuration itself for facets is pretty simple. You may configure sort order, sort type, or pin some attributes to have them always on the top of the filter panel.
The second tab, Synonyms, allows you to configure what keywords should be considered by the system as synonyms for other words. The most interesting setting here is the ability to set either two-way (search for a “dog”, get “Pedigree” and vice versa) or one-way (search for a “this green thing with buttons”, get “Poppit” but not vice versa).
The third tab, Rules, is one of the most exciting features. This is the place where you can configure how the search results should appear based on the contents of the search string. For example, you can create a rule that pins some particular product to the top of the product listing if the search string contains “shirt”.
Many of the merchants have been waiting for this feature for a long time. In today’s eCommerce reality, search is not just a tool for visitors to find something quickly. It’s also a powerful marketing tool. Having flexible control over what visitors will see within the various search scenarios gives an additional possibility to promote different products.
The GraphQL tab will be helpful mainly for the developers. You may create an API request and see the direct output from the search service.
That’s it about the configuration, but what about the search functionality on the storefront? Well, it works well in most cases. Synonyms operate perfectly as well as facets. We had some hard times with rules in attempts to make this function work. But eventually, the rules started to work. We have not tested the search performance with some extensive catalog (only with around 1K SKUs). But if you had a chance to abuse the system with some big data, please share your experience in the comments below.
Under the Hood
The most appealing fact about the new search is that almost all search functionality does not take place within your platform installation – like it used to be. The Live Search module collects the necessary data about your catalog and sends it over to the external search service within Adobe’s infrastructure.
Moreover, all configurations (facets, rules, synonyms) are stored on this external service as well. Once a visitor searches for some keyword, the system will send a request to the mentioned external service using GraphQL. The service will process it using Adobe Sensei and send back the respective result.
Now, remember all the talks about the new micro service-oriented (or, I’d rather say, service-oriented) architecture of the platform? Here you have it: Adobe Live Search is a prime example of how your Adobe Commerce installation can function as a “thin client,” merely sending and receiving data from various remote services. In the same way, it’s possible to convert sales, customers, CMS, and other parts of the system to the remote services that will process your data. So far, it is hard to estimate how good this idea is. Only time will tell. However, it’s encouraging to see that after discussions about concepts, we finally understand how the services will actually operate.
Additional hints
- When you generate the API key, accounts with “Shared Access” might not work. You need to generate the API key from the license owner’s account.
- If something went wrong, check the logs. If the logs are not helpful (i.e. “Error” with no explanation), leave the system for some time and get some coffee or take a nap. Since all the data should be stored remotely, it might take some time. This applies to all the data, including configuration, which also may not work straight away.
- As of the publication of this article, the service is still in beta. So, keep in mind that fact before planning the new service usage for production environments.
- If you got stuck, feel free to ask for help in the dedicated Live Search Slack Channel.