# Elastic App Search for Ecommerce Solutions

**URL:** <https://www.virtocommerce.org/t/elastic-app-search-for-ecommerce-solutions/508>\
**Category:** feature\
**Tags:** search, elasticsearch\
**Created:** [August 31, 2022, 4:04pm UTC](https://www.virtocommerce.org/t/elastic-app-search-for-ecommerce-solutions/508 "2022-08-31T16:04:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![OlegoO](https://yyz2.discourse-cdn.com/flex032/user_avatar/www.virtocommerce.org/olegoo/32/27_2.png) [@OlegoO](https://www.virtocommerce.org/u/OlegoO)\
**Post date:** [August 31, 2022, 4:04pm UTC](https://www.virtocommerce.org/t/elastic-app-search-for-ecommerce-solutions/508/1 "2022-08-31T16:04:23Z")

</div>

Search powers how people shop. Help them find exactly what they’re looking for instantly. Virto Commerce can bring unparalleled relevancy and personalized suggestions, optimize product discovery, turning browsers into buyers with seamless transactions that inspire repeat purchases.

Virto Commerce and Elastic App Search brings the next level of employee experience. You can use analytics to improve ecommerce search relevance without development.

In this post, I will try to demonstrate how to use Elastic App Search for Ecommerce Solutions.

## Prerequisites

You need to install and configure:

1. [Elastic App Search 8.x](https://www.elastic.co/enterprise-search)
2. [Virto Commerce 3.2xx](https://github.com/VirtoCommerce/)
3. [Elastic App Search Virto Commerce Module 3.2xx](https://docs.virtocommerce.org/modules/elastic-app-search/eas-setup-guide/)
4. [Virto Storefront 6.x](https://github.com/VirtoCommerce/)
5. [Vue B2B Theme 1.x](https://github.com/VirtoCommerce/)
6. Rebuild Index in Virto Commerce

**Note:** If you already use Virto Commerce, I recommend testing it by using Elastic App Search module.

**Note:** You can [Request a Demo](https://virtocommerce.com/request-demo) or request Virto Commerce Trial.

## Use Analytics

Every time a customer searches on your site, they give your business valuable information about what they’re looking for.

Use Kibana and Open: **Enterprise Search** → **App Search** → **Engines**

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/c/c37e2c759f7a2232cf9798a4e4335467aab0d20f.png)

By default, Virto Commerce adds four engines: Product, Category, CustomerOrder and Member.

**Note:** For demo purposes, I used _virtostart_ scope.

Choose the Product engine and review `Overview` section where you can find basic information about product queries and API requests per day.

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/9/9080d33d335e311a6f3337ebd1b5e89492d2179e.png)

Choose Analytics to dive into customer experience and query data. Out-of-the-box data collection, metrics, and visualizations on search keywords give you all you need to glean insights from user behaviour.

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/c/c374b184ea8b295c8a8553ebdc1bac0657650afa.png)

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/d/d4fe823168d873b2bb94977259e85808b1659e3e.png)

## Improve Search Relevance

With Elastic App Search in a few clicks, you can make relevance and tuning adjustments or promote/demote results based on your findings — right from the management interface.

Below, you can find how to improve search relevance with:

- Synonyms
- Curations
- Relevance Tuning

### Apply synonyms

Sometimes users will use different terminology than your context might expect.

In **Top queries with no results** section, you can find query results. For example, my customers searched `duplicator`. Indeed, if you go to the storefront and try to search `duplicator`, you didn’t find any product.

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/3/37c782d7f5b117f6f3d4aa632b4cf51c879cb354.png)

It’s a common mistake, this can lead them to poor search relevance: you are selling movies, but they want _films!_

The Synonym feature builds **synonym sets**. A synonym set contains two or more queries that have similar meanings. A synonym set can contain up to 32 words.

To manage synonyms through the App Search dashboard, choose **Synonyms** , choose **Create a synonym set** and add a synonym set.

Once you click Save, the synonym set will be applied.

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/2/25497872ff0264b4acf1a092981be072ccfe5d44.png)

Now, if customer searches `duplicator`, they will see the product set:

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/c/c513c2d1a1547f70287461675d6c3bbe552ab3ca.jpeg)

Configuring **Synonyms** is a useful way to guide your users to the most relevant content. It is most useful when you know the precise terms that they are searching for. For that, you should explore the _Analytics_, so that you are aware of your insightful capabilities.

If you are looking to provide even more precise and curated results, venture to the Curations section.

### Curations

Curations allow search operators to customize search results for specific queries.

Use promoted products to ensure that specified products always match a query and receive the highest relevance scores. Imagine an ecommerce store with featured product results.

Similarly, use _hidden documents_ to exclude particular products from results.

Let me demonstrate it in action and boost some products for `office printer` search query.

Manage curations using Kibana:

1. Open: **Enterprise Search** → **App Search** → **Engines** → _-product_ engine → **Curations**
2. Added a curation for `office printer`
3. I found and promoted two products: 565507636 - HP OfficeJet Pro 6978 All-in-One Multifunction and 551879675 - HP LaserJet Pro MFP M521dn - multifunction printer (B/W)

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/d/d4cb4768da8583746941ec18a116952e056093ea.png)

Once you click Save, the curation will be applied.

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/6/606b241d8971f9730fe9ae31cd68a0e8b7b5839c.jpeg)

**Note:** Today, Elastic App Search offers Upgrade to a **Platinum** subscription to harness the power of machine learning. By analyzing your engine’s analytics, App Search is able to suggest new or updated curations. Effortlessly help your users find exactly what they’re looking for.

If you are looking for advanced results, venture to the Relevance Tuning section.

### Relevance Tuning

Out of the box, App Search provides quality search relevance.

Built on top of Elasticsearch, App Search is a managed, the expertly crafted distillation of its finest points.

It provides tools to help you further tune the search experience to optimize for your own needs.

I recommend reviewing step by step guide [how to configure and use relevance tuning here](https://www.elastic.co/guide/en/app-search/8.3/relevance-tuning-guide.html).

## Performance

We run load tests and compare Elastic Search Vs Elastic App Search. Both engines are ready for production and demonstrate the same results.

## Limits

For performance and historical reasons App Search has default limitations on some objects and API calls. Review current [Limits in Elastic App Search Documentation](https://www.elastic.co/guide/en/app-search/8.3/limits.html).

## Summary

I hope this post helps you improve customer experience continuously and your customers find exactly what they’re looking.

## References

[Explore Virto Commerce](https://virtocommerce.com/)  
[Virto Commerce on Github.com](https://github.com/VirtoCommerce/)  
[Elastic App Search Documentation](https://www.elastic.co/guide/en/app-search/8.3/getting-started.html)  
[B2B-store Demo with Elastic App Search](https://st-storefront.demo.govirto.com/)

---

<div class="post-metadata">

**Author:** ![asvishnyakov](https://yyz2.discourse-cdn.com/flex032/user_avatar/www.virtocommerce.org/asvishnyakov/32/2722_2.png) [@asvishnyakov](https://www.virtocommerce.org/u/asvishnyakov)\
**Post date:** [September 1, 2022, 8:23am UTC](https://www.virtocommerce.org/t/elastic-app-search-for-ecommerce-solutions/508/2 "2022-09-01T08:23:35Z")

</div>

Besides limits in Elastic App Search itself, VirtoCommerce integration module has some too, such as some fields just ignored because they have more than 64 symbols in name (max supported in Elastic App Search and can’t be configured). All limitations are logged by VirtoCommerce Elastic App Search module, so you can see which things you miss when running your indices on App Search.
