Apache SOLR Search in SAP hybris – hybrismart | SAP hybris under the hood

Apache SOLR Search in SAP hybris


Search and Navigation module is one of the most requested and intensively used in hybris. It is based on Apache SOLR, which is unarguably the best of breed among all open source search engines available on the market.

Understanding the SOLR engine is the must for any developer. Both hybris and Apache parts are well d0cumented, so at the first glance, it should help to progress faster. Actually, this topic will take years to master.

I did a lot of research and conducted experiments in the area to get better in SAP Hybris Search.

  • Facet Search: The Most Comprehensive Guide. Best Practices, Design Patterns, Hidden Caveats, And Workarounds.  In this article, I structured the main concepts, best-practices, design recommendations, interaction patterns and visual design considerations for the faceted search. I believe this work covers every aspect of the facet search UI: everything you need to know to create facet search component from scratch or using the ready building blocks from the SAP Commerce Cloud out-of-the-box search module. At the end of the article you will find a summary explaining what features are implemented in the default SAP Commerce Cloud Accelerators; for those which are not implemented, you will find my ballpark estimations of the efforts needed.
  • Autocomplete, Live Search Suggestions, and Autocorrection: Best Practice Design Patterns. In the various sources, the terms like Autocomplete and Suggestions are not defined clearly. They turned out to be too wide to avoid confusion when defining design patterns and software requirements. The customers use the wrong terms in the RFPs, the partners try to use the RFP language and mix that with their own terminology. In this article, I review these topics in depth as well as share my recommendations for the design and implementation.
  • Implementing Product Whitelisting/Blacklisting in SAP Commerce Cloud for Large Product and Customer Bases. Document-level access control ensures that the search results have only those products that a logged customer is authorized to see. This is a common request for B2B solutions with a large and sophisticated product and customer models. Many manufacturers and suppliers want to provide exclusive or restrictive access to products for particular partners. Such an approach reduces the number of incorrect or incomplete orders and makes navigation easier. In this article, we are discussing in detail how to support product whitelisting/blacklisting per customer in SAP Commerce Cloud for large product sets and large customer base. We also present our solution and possible alternatives. The tests showed that the solution is capable to process millions of documents, tens thousands of customers and millions of access rules saying what product is blacklisted/whitelisted for what customer.
  • Multi-line search. (video) The third part is about handling multi-word synonyms in hybris. Hybris doesn’t support phrasal synonyms because of limitations of SOLR, the search engine. I present a module that makes it work via customization of hybris search module. In the fourth part, I tell about automatic facet discovery. This mechanism allows you to deliver better user search experience to the customer by setting up the facets automatically.
  • Search Analytics (video).  This is a second part of the 3-hour presentation given by Rauf Aliev (EPAM SAP hybris Solution Architect) in SAP Moscow on Sep 29, 2017.  In this video, I explain the details of the project of e-commerce search optimization project as well as the details of the software components developed for this purpose.  Using the approach from the video, you will be able to detect the issues with the search configuration, identify the weak points and bottlenecks of your search system, calculate search KPIs for your system and compare the search KPIs before and after the change.
  • Search Index Partial Update — Updating the search index by field; it significantly speeds up the updating the index;
  • Multi-line Product Search  — PoC of multi-line search component for B2B;
  • Static pages and products in the same list — The single search result list both for products and content pages;
  • Solr 6 in hybris 5.x, — Upgrading the search engine to Solr6 for  hybris 5.x (with Solr5 on board)
  • 90M Personalized Prices, — The article explains how to handle large amounts of personalized prices in Solr;
  • 500K availability groups, — Some products can be unavailable for some users depending on their location etc. The availability matrix is too huge to get it supported using hybris OOTB capabilities. The PoC demonstrates how to implement it.
  • Solr Cloud, — Using Apache Solr Cloud with hybris 5-6.1. In the latest versions, Solr Cloud is natively supported by SAP hybris.
  • Highlighting, — Using Solr Highlighting with hybris 5-6.1. In the latest versions, Solr Highlighting is natively supported.
  • 2M products/marketplace, — The proof-of-concept of the large marketplace (2 000 000 products and 14000 categories).
  • More like this, — Using Solr “More like this” functionality with hybris. SAP hybris doesn’t support it yet out of the box (at least v6.6)
  • Concept-aware search: automatic facet discovery, — The PoC demonstrates how to improve the search by automatically recognizing the facet settings from the search query
  • Visual Search and Similar Color/Similar Shape products recommendations – this PoC demonstrates how the Visual Search concept and product recommendations based on image features can be implemented with SAP Hybris
  • Relevance Ranking for Phrase Queries, — I explain how relevance ranking works in hybris
  • Enhanced Multi-word Synonyms and Phrase Search, — Solr OOTB and hybris OOTB doesn’t support multi-word synonyms nicely. In this article, I share my multi-word synonym handling module that makes it possible.
  • Query Builders and MultiMaxScore — I explain how query builders and scoring formulas work in hybris

(c) Rauf Aliev, 2016-2017