The popular Solr integration for Magento has been officially released for Magento 2.
Upgrade Product Search in Magento 2 Community Edition
A vanilla Magento 2 Community Edition offers a standard MySQL product search. It basically performs like the Magento 1 MySQL product search. The search algorithm returns matching products to your search term. However, as soon as your search term is more complex or if there are no exact matching words, MySQL product search is at a loss. So if your product search should act like a proper help to your customers and show them the way to relevant products, you need something more. That is where IntegerNet_Solr comes into play.
One of the most important features of our Solr integration is the fast preview which you get after typing the first few letters of your search query. It reacts almost instantly as we are avoiding access to the database for that. Convince yourself at our IntegerNet_Solr Magento 2 demo shop.
Additional to product suggestions, the autosuggest also suggests categories, attribute values (like gender or color) and keywords.
No returning costs
Most advanced search solutions for Magento are delivered as Software as a Service (SaaS), which means that the software runs on the search solution provider’s servers and you basically have a subscription. This has two disadvantages:
- Costs can pile up quickly, especially as some providers charge per Store View.
- You don’t have full control over the search service, so if the service is down, you can only hope that the provider will bring it back online soon. In some cases, we have seen the whole shop being down while the search service was unreachable.
With IntegerNet_Solr, you pay just once. You can (and should) install Solr (which is free) on your server, letting your administrator or your hoster take care of everything.
See our pricing page for more details.
Good code quality not only helps our clients, but it also helps us directly. This is especially true as we can re-use large parts of our existing codebase from our Magento 1 integration. We are now profiting from the effort we made about a year ago: we made the code independent of the used framework. We introduced Dependency Injection (DI) and automated tests so we can now introduce new features quickly while maintaining the high quality which we took over from the well-proven Magento 1 integration.
This also means that the IntegerNet_Solr integration for Magento 2 is already easy to extend, the same way as our Magento 1 integration. We provide the same events which can be observed, and we are using the Magento 2 default templating mechanisms (PHTML files and layout XML).
Live shop implementation
We beta tested our module against a live Magento 2 project which we were implementing together with our partners at Stämpfli. The shop includes several ten thousand products, mostly grouped and simple products, and has a custom responsive theme. So the requirements are very different from a default Magento 2 demo store. For us, having implemented whole shops is necessary groundwork, so our modules have a much more stable base.
Our next steps will be:
- Redirect to a product page if the user search query matches a product name or SKU 100%. The same will be possible for category names. (in Beta)
- Search categories directly in order to give category results during search (in Beta)
- Get category-product associations from Solr on category pages (in Development)
- Search CMS pages for autosuggest and search results (planned)
- Pre-Render product HTML blocks for product lists during indexing for enhanced performance (planned)
Author: Andreas von Studnitz
Andreas von Studnitz is a Magento developer and one of the Managing Directors at integer_net. His main areas of interest are backend development, Magento consulting and giving developer trainings. He is a Magento 2 Certified Developer Plus and a Magento (1 and 2) Certified Solution Specialist. He was appointed a Magento Master in 2019.