Magento 2 CE and ElasticSearch integration
-
13-12-2020 - |
Question
I'm learning how to config and use Elasticsearch as search engine for a "test project" which we will develop soon.
I have a few questions about how to integrate these two technologies.
Is it possible to integrate elasticsearch with magento 2 CE? or I need a custom module for this?
Otherwise, how can I populate an elasticsearch cluster with, for example, the catalog of my Magento 2 CE shop? is it possible?
I know that it sounds a little bit confusing but I'm new to elasticsearch and I'm trying to integrate it in my platform.
If some of you had a previous experience with Magento 2 and ES can please tell me which are the common problems during integration?
Thanks in advance.
EDIT 05/12/2018
Now Magento 2.3 has ElasticSearch integration out of the box in Community Edition.
Solution
Magento 2 Open Source (CE) does not provide integration with elasticsearch by default. We have following options:
- Create your own Custom extension (Can be explained separately)
- Use following Free Extensions
Issues we can face while creating custom extension:
- Handling with Layered navigation
- Updating Index with delta changes on right schedules
Hope you will find these extensions helpful to go for your elasticsearch feature.
OTHER TIPS
Yes, you can.
Here is step-by-step manual: https://github.com/Smile-SA/elasticsuite/wiki
Yes, we can integrate elasticsearch with Magento2 CE and you need to create a custom module for this.
To make it work, we need to do the following steps.
1) Install and start the elasticsearch server program, in your magento server.
2) Use a client program, to communicate between the elasticsearch server and your programming language, which is PHP.
Fortunately, Elasticsearch provides a client library in core PHP, which are a bunch of core PHP classes. By using these library, we can communicate with the elasticsearch server. You can find the link here
To make the elasticsearch work with Magento-2, either we need to transform this core PHP elasticsearch libraries in to Magento-2 structure or we need to use third party Magento-2 extensions if any available.
For the first method, make a custom module in Magento-2 and transform the elasticsearch core PHP classes in to helper files. Then by using the helpers and controllers, you can develop a real Magento-2 elasticsearch extension.
The possible problem, that could come, may be dealing with clusters, but that's my personal experience. You may find it easy.
By default Magento 2 Ce doesn not provide the elastic search feature, unfortunately you need to build from scratch. But as per I know there is one free awesome extension available for this, which you can find from below link,
https://github.com/Smile-SA/elasticsuite
Note : It is a free extension