Search Quality - Bloomreach Commerce Experience Cloud - The Headless Digital Experience Platform Built for Commerce

Search Quality

Bloomreach Search and Merchandising is a state-of-the-art search engine using the latest Machine Learning technologies to deliver a highly engaging and optimized search experience. The engine automatically adjusts search results to varying expressions of user intent over time and engagement behavior on the site.


Maximize Search Quality

At a high-level, here's what you can do with Bloomreach Search and Merchandising to maximize the quality of your search results:

  • Maintain a working API and pixel integration.
  • Provide a timely product feed.
  • Ensure the parity of the product grid in search and browse experiences.
  • Use the Ranking Diagnostics tool to understand search results.
  • Use the Merchandising tools to curate search results.


Search Quality Overview


The search engine must first find and return the set of products in the catalog that match the intent expressed by a visitor in her search query. However, the search query often differs from how the product is described in the catalog. For example, a furniture catalog may contain ottomans but users may search for “footstools”. Or an apparel catalog contains “t-shirts”, but users may search for “tee”.

To handle such scenarios, the query is enhanced by using not only the exact query terms but also manually-entered and Bloomreach's learned synonyms. The query is then compared to the fields in the merchant-supplied product catalog--such as title, category and various attributes--to find the relevant matches. In case there is no matching product found, the engine automatically attempts to correct any misspelled words or relax query to find matching products.



Once a set of products has been returned for a search query, Bloomreach adjusts the order of those products in order to optimize for higher expected revenue per visit (RPV) for the query. Several factors contribute to the algorithm that optimizes product ranking. A high level explanation of the various signals is included below.

Once the relevant set of products is determined (referred to as the recall set), Bloomreach will adjust the order of those products in order to maximize site Revenue.

There are several factors involved in determining a product's rank in the recall set. A few of the most important signals are:

1) Product performance for a specific query or category,

2) Personalization - driven by a user's preferences determined through their site behavior, and

3) Relevance - based on Bloomreach's semantic understanding of the query and product.

To know more about Bloomreach's Ranking, go to the Search Ranking page. 

In-depth reading

For information about the API, pixel, and product feed, take a look at the integration part of our site: Bloomreach Integration.

This collection of articles provides an overview of how the Bloomreach Search and Merchandising engine works. For an in-depth understanding of search quality and optimization, you can read each of the articles in order. Alternately, you can review the contents of this collection and select the specific topics that you're interested in.

Search Recall

Explains what happens when Bloomreach receives a search query, and how Bloomreach runs that query.

Search Ranking

Breaks down the primary functions of Bloomreach Search, describing how it works overall.

Curate search results with merchandising tools

Provides guidelines for using merchandising tools to curate search results, especially boost, bury, and synonyms.

Gain insight for product ranking

Introduces the Ranking Diagnostics tool and how you can use it to determine why certain products are ranked in search results.

Troubleshooting search quality issues

Discusses common scenarios that you might like to use when optimizing or troubleshooting search experiences on your site.

Color based image SKU selection


Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?