How to Use Elastic App Search in Virto Commerce
Would you like to be a Google admin for a while to manipulate search results to your advantage? Okay, not for your own sake, but for the success of your business. This sounds like a dream come true for every SEO specialist.
- INTRODUCING ELASTIC APP SEARCH
- WHAT IS ELASTIC APP SEARCH ENGINES TOOL
- USING ELASTIC APP SEARCH ENGINES TOOL IN VIRTO COMMERCE
- ELASTIC APP SEARCH FEATURES TO IMPROVE SEARCH RELEVANCE
- ELASTIC APP SEARCH PERFORMANCE EVALUATION
- CHOOSING ELASTIC APP SEARCH WITHIN VIRTO'S ARCHITECTURE
- ELASTIC APP SEARCH FAQS
Introducing Elastic App Search
For B2C and B2B ecommerce website owners, the search engine management and analysis of user search queries is not an idle desire but an urgent task. For example, you may want to promote some products by busting them higher in the search engine results or vice versa.
Also, you need to create a synonym list for your product names to improve search results. The search engine may not return a link to the right product page if a customer enters a product name drastically different than it appears in the search engine index.
There is a wide choice of search engines for ecommerce sites, although they all have one con in common. Out-of-the-box engines worked according to their default algorithm, and these vendors did not provide top-level tools for managing search results. By saying top-level tools, I mean that they could be used by any non-tech employee, like a product manager or a marketer.
The search world changed when Elasticsearch BV company released a unique service Elastic App Search to manage its engine from an admin panel. According to their software architecture, Elastic App Search is a part of the Elastic Enterprise Search solution. It can be deployed on an Elasticsearch-owned cloud or in the cloud where the eCommerce solution is deployed. The communication between Elastic App Search and Elasticsearch cloud cluster is over HTTP.
In 2022, Elastic App Search 8.x was released, and because it appeared as a mature product, we have added it to the list of search engines available now in the Virto B2B platform:
- Elasticsearch (conventional)
- Azure Cognitive Search (AI featured)
- Elastic App Search
- Algolia (preview only)
- Lucene (non-production)
Note: Use Lucene only for a development or non-production Virto Commerce environment. We built a module on top of Lucene to make it easier for developers to use it for a search as part of our ecommerce solution.
All of these search engines are perfect enough in their unique way. Please remember that Elasticsearch and Azure Cognitive Search require a developer's help to customize the search. And this involvement of a developer is needed every time you change something in the search algorithm, for example, to prioritize certain SKUs in search queries to bring a better margin for the company.
Read my other blog posts on Elasticsearch and Azure Cognitive Search:
What Is Elastic App Search Engines Tool
Firstly, Virto Commerce automates many routines of the initial configuration (data loading) of Elastic App Search and automatically creates all the necessary entities. Nevertheless, as an introduction, it's worth telling what Elastic App Search consists of.
In Elasticsearch algorithms, the index is the basic structure for organizing data, while Elastic App Search uses the Engines tool, a high-level abstraction of the Elasticsearch index.
Here I should clarify that in Elastic App Search terminology, "Engines" are not a search engine core but just a name for a service feature (aka tool). This term can confuse users. It would have made more sense if they called it "Engine Central" to emphasize its role as a tool for managing and analyzing search queries.
In fact, Engines are document collections with a configurable structure and automated relevance. They have the potential to be internationalized and provide a multilingual search experience by being optimized for different languages. Documents may be imported or retrieved via API requests.
Elastic App Search also provides a dashboard for managing Engines and analyzing indexed data. The dashboard makes it easy to fine-tune the search experience without code writing. It also provides insight into how users interact with the search engine, allowing you to make improvements on the go.
Using Elastic App Search Engines Tool in Virto Commerce
Engines tool powers user's search experience by providing relevancy and personalized suggestions, optimizing product discovery, and turning browsers into buyers with seamless transactions that inspire repetition.
In this section, I will show how Elastic App Search works in Virto Commerce B2B platform. You can use analytics to improve ecommerce search relevance without asking developers for help.
Please mind that there are prerequisites for software installation to get Elastic App Search working correctly and at full speed. The following software has to be installed and configured before you can start the Engines tool:
- Elastic App Search 8.x or later
- Virto Commerce 3.2xx or later
- Elastic App Search Virto Commerce Module 3.2xx or later
- Virto Storefront 6.x or later (optional)
- Vue B2B Theme 1.x or later (optional)
Note: If you already use Virto Commerce, install and test Elastic App Search using the library's relevant architectural module.
To access Elastic App Search features, we use Kibana as a part of the ELK stack, including Elasticsearch. Kibana is used to visualize data in different formats and to search and analyze logs quickly.
In the Elastic panel, click on Engines: Enterprise Search → App Search → Engines.
If you have installed the module and rebuilt the index, by default, you will get four Engines in Virto Commerce:
We are working on expanding this list further.
Product Engine | Elastic App Search in Virto Commerce
It is named virtostart-product on the screenshot.
Note: The prefix "virtostart" is taken from the configuration settings. It may have another name on your system.When choosing the Product engine, we can check the Overview section from the left menu to find daily information about product queries and API requests. This screen will provoke many thoughts when you have the stats for weeks and months.
The Analytics menu item allows diving into customer experience and query data. Out-of-the-box data collection, metrics, and visualizations on search keywords give you all you need to get clean insights from user behavior.
Note: All the screens in this article are made in the "virtostart" demo environment.
Elastic App Search Features to Improve Search Relevance
With Elastic App Search, you can make relevance and tuning adjustments or promote/demote results based on your analytics — right from the management interface in a few clicks.
Let's see how to improve search relevance with the methods below:
- Apply Synonyms
- Using Curations
- Relevance Tuning
App Search has an index of many synonyms as any search engine. However, users sometimes use search words for products that need help understanding even a robust index.
For such cases, synonyms can be used in Elastic App Search to match product names with the unusual words customers use to search for them.
You can find query results in the Top queries with no results section. For example, somebody from a customer searched "duplicator." Indeed, if you go to the storefront and try to search duplicator, you don't find any product. It was a search for a copier (photocopier, copy machine).
Therefore, based on this assumption, you can add "duplicator" as a synonym to the product name of all copiers selling on the website.
Entering rare terms for product searches is the challenge synonyms have to solve. Many words can lead to poor search relevance.
For example, you sell tablets, but the user typed "palmtop" (an outdated name for a small portable computer easily held in your hand).
The Synonyms item in the left menu corresponds to a feature allowing to build of synonym sets. A synonym set contains two or more queries that have similar meanings. A synonym set can include up to 32 words.
To manage synonyms through the Elastic App Search dashboard, choose Synonyms, click Create a synonym set and add a synonym set. Once you click Save, the synonym set will be applied.
Now, if a customer searches for a "duplicator," a set of relevant products with copier functionality will be shown, including multifunction printers.
Synonyms allow you to account for different ways that users might search for the same thing. Setting up Synonyms is a helpful way to direct buyers to the most relevant product through the search. It's most beneficial when you know exactly what they're looking for. To do this, you should regularly explore the Analytics section in Elastic App Search to understand your insights.
Using curations for search results
To provide your customers with even more accurate and curated product catalog search results you need to go to the Curations menu item.
Curation allows you to customize search results for specific queries to benefit your business. Imagine an ecommerce store that sells electronics. You have products with different margins because of the contract conditions with the vendors, and you want to sell the highest margin products first or those that need to sell out as fast as possible (for example, because you know a new model is coming out soon).
Use Curation in Elastic App Search for promoted products to ensure that the products always match the query and get the highest positions in search while maintaining high relevance to the user's query.
Similarly, use hidden documents to exclude certain products from search results.
Note. The hidden documents feature removes a product from search results altogether. If you want to downgrade a product's position in the search results, use the relevance tuning feature (see below).
Let me demonstrate curation in action and bring up some products for the office printer search query.
Managing curation with Kibana:
- Open: Enterprise Search → App Search → Engines → -product engine → Curations
- Added a curation for "office printer."
- I want to promote two products: code 565507636 - HP OfficeJet Pro 6978 All-in-One Multifunction and code 551879675 - HP LaserJet Pro MFP M521dn - multifunction printer (B/W).
Now you can see that curation has been applied, and the selected printers are in the top two positions in the search results for the keyword "office printer."
Note: Today, Elasticsearch BV company offers a platinum subscription to harness the power of machine learning. By analyzing Engines analytics of your ecommerce solution, Elastic App Search can suggest new or updated curations. It effortlessly helps your users find what they're looking for.
To manage advanced search results, click on the Relevance Tuning item in the left menu.
Out-of-the-box Elastic App Search provides quality search relevance. Built on top of Elasticsearch, App Search is a managed, expertly crafted distillation of its finest points. It provides tools to help you further tune the search experience and optimize it for your needs.
But you might have the task of fine-tuning your search results, and Relevance Tuning is what you really need.
In this section, I'll show you how to quickly tune search relevance and results to create a better customer experience for a product search. This is about how products are scored and changing this score if required.
Let me start by running a simple query like "epson". A score is computed on the query, and the product with the highest score is displayed first. The score is based on text fields by default, and every field is weighted the same.
Next, I looked at the list of copiers on the right side of the panel, and I would like to update the score for the Epson office copier, which is currently out of the top position.
I will change the weight for this copier's "brand" field, and now this scoring has automatically been updated. This copier is now at the top of the scoring. Having multiple fields allows you to create complex scoring formations, including lowering the scoring for some products.
You can also use numerical fields to manage the scoring. By default, they are not included in the score. However, they can still contribute to the product score by adding boosts.
Let's use the copier performance in the "lcd size" field to set a boost. The more the screen size is, the more convenient to operate the device, and likely that buyers will be interested in this copier for their office tasks.
Click on Add Boost and add a functional boost. You can choose the function that will be used to boost the score, select the Linear function, and leave the other parameters as default. Now I will multiply the score of each copier by its LCD_Size parameter.
Review the step-by-step guide on how to configure and use relevance tuning here.
We in Virto ran load tests and compared Elasticsearch vs. Elastic App Search. Both engines are ready for production and demonstrate the same results when used in Virto Commerce solution.
Note. For performance and backward compatibility reasons, Elastic App Search has default limitations on some objects and API calls.Review current Limits in Elastic App Search documentation: Limits | Elastic App Search Documentation [8.4]
You may be asking — how to choose Elastic App Search as the active search engine out of the other ones available for Virto Commerce solution.
We have Elastic App Search, Elasticsearch (conventional), and Azure Cognitive Search as three prod engines, plus Lucene and Algolia for testing and preview.
It's easy to set Elastic App Search as an active engine thanks to Virto's atomic-like modular architecture, where each search engine is represented as a built-in module. To enable an engine, you need to install the appropriate module, then change the settings to make this module active. If it is necessary, through the settings, you can go back to a previously used search engine or choose some other one.
You don't have to change the ecommerce solution code to change the current search engine but only use setup and configuration. If based on your experience, you don't need any of the available search engines, you can delete that module to make the solution a bit more lightweight.
By abstracting away the Elasticsearch query language, Elastic App Search provides a refined set of tools that make it easy to deliver a great search experience on the ecommerce website. I hope this post helps you to improve the customer experience for product search and that your customers find what they're looking for.