This is one of the questions in the Magento 2 Certified Solution Specialist exam study guide. I know that the Elasticsearch
and Solr
are two of the most popular open source search engines and Magento Enterprise Edition (EE) version 2.x enables you to configure either of them as a catalog search engine (Solr is deprecated in Magento 2.1 and will not be supported in 2.2).
Based on magento docs each can do the followings:
Solr:
- Faceted search
- Dynamic clustering using SolrCloud
- Database integration
- Elasticsearch performs quick and advanced searches on products in the catalog
- Elasticsearch analyzers support multiple languages
- Supports stop words and synonyms
- Indexing does not impact customers until reindex is completed
- Elasticsearch returns search results based on the last generated index until the new one has been completely indexed so there’s no disruption to customers
- Accurate, performant, scalable
- Works well out of the box
- Easy to horizontally scale
- Supports real-time data and analysis
- Can be used as a document-oriented data store
- Applications in framework beyond search—reporting, personalization, performance, and storage
So here is my question: As they both were built on top of the Apache Lucene open source platform, so their functionalities should be similar. Is there any main differences between Elasticsearch and Solr? What was the main problem of the Solr that now is deprecated in Magento 2.1 and will not be supported in 2.2 ?