is available for Magento® 2
How to use the Elasticsearch extension for Magento® 2?
Elasticsearch is a real-time distributed search and analytics engine which allows you to explore your data very quickly. It is used for full-text search, structured search, analytics, and all three in combination.
And it packages up all this functionality into a standalone server that your application can talk to via a simple RESTful API, using a web client from your favorite programming language, or even from the command line.
The Elasticsearch extension will allow you to make the link between the search and analytics engine and Magento 2.
You can find more information on the product here:
STEP 1: Install and run Elasticsearch
As Elastic advises, "the easiest way to understand what Elasticsearch can do for you is to play with it".
To be able to use the Elasticsearch extension and reach the server, you first need to have a recent version of Java. You can easily install the latest version of Java from www.java.com.
Then you can install and run the Elasticsearch engine following below steps.
- Install Elasticsearch
You can download the latest version of Elasticsearch from elastic.co/downloads/elasticsearch.
Once it is downloaded, you can extract the archive file.
Once you’ve extracted the archive file, Elasticsearch is ready to run.
- Run Elasticsearch
To run Elasticsearch, open a console and run the following command:
If you’re running Elasticsearch on Windows, simply run:
- Test Elasticsearch
You can easily test if the Elasticsearch engine is reached by trying to access http://localhost:9200/?pretty or by opening a new terminal window and running the following:
You should then get:
You now have an Elasticsearch node up and running.
STEP 2: Enable the Elasticsearch method
To configure Elasticsearch in a general way, go to Stores > Settings > Configuration > Catalog > Catalog > Catalog Search.
Configure the general parameters
In the Catalog Search tab, you can choose Elasticsearch as the Search Engine.
When choosing Elasticsearch as the Search engine, more options should display:
- Enable Debug Mode: will display potential error messages in the frontend.
- Servers: must be written as host:port and separated by a comma.
- Verify Host: only used for https connection. Set that option to No if you don't have a valid SSL certificate.
- Connect Timeout: number of seconds after a timeout occurs for every request. If you’re using indexing of file, large value is necessary.
- Index Prefix: used to prefix index names in order to avoid potential collisions.
- Index Settings: having more shards enhances the indexing performance and allows to distribute a big index across machines and having more replicas enhances the search performance and improves the cluster availability.
- Safe Reindex: reindex in a temporary index and switch to it once finished. Especially useful for large product catalogs.
- Query Operator: by default it is set to AND. For example, with the AND operator, the same query is translated to "digital AND camera", with the OR operator, the query "digital camera" is translated to "digital OR camera". You may have less results with the AND operator but they’ll be more relevant.
- Enable Fuzzy Query: enable the approximative search.
Manage your Indexes
The Elasticsearch extension adds one more index that you can find in System > Tools > Index Management:
- Elasticsearch Index: Rebuild the Elasticsearch index.
You can easily reindex data by selecting this index and chosoe to update it on save or by schedule.
It's also possible to open the control panel and execute the following command:
bin/magento indexer:reindex catalogsearch_fulltext
Browse the indexed data
Once all your data have been indexed in Elasticsearch Server, then you can browse the data directly from your admin under:
You can browse the data for each type: Products, Categories and Cms page.
Then in the grid that displays, you can select any row, and display the indexed data as a Json string.
STEP 3: Configure your search with Elasticsearch
You can now configure your search in Stores > Settings > Configuration > Wyomind > Elasticsearch.
By default, the autocomplete will display terms suggestions for your search.
You can choose to Enable Autocomplete in order to override the default autocomplete and to display products directly.
If enabled, 2 additional options will be displayed:
- Autocomplete Limit: define the maximum number of results displayed in the autocompletion. For example 3.
- No Result Template: This is the message that will appear if there is no result for the search
With the Elasticsearch extension, you can make your products, categories and CMS pages searchable in the autocomple box.
Several options exist to enhance the search in the Types Settings tab.
You can make your products searchable in the autocomple box.
- Enable in Autocomplete: If enabled, products will be searchable in the autocomplete box.
- Image Size: define the size of the images in the autocomplete box in px. By default the value is set on 50px.
- Autocomplete Template: define the products template in the autocomplete.
You can Enable Category Search. If enabled, categories will then be indexed in Elasticsearch and new parameters will be displayed in the configuration.
- Enable in Search Results: if enabled, categories will also be displayed in the column of search results page.
- Enable in Autocomplete: if enabled, categories will also be searchable in autocomplete box.
- Search Results Limit: is the limit number of results that will be displayed in the right column of search results page. Note that 0 or empty field means unlimited.
- Searchable Attributes: define which category attributes are searchable. For example the Description and the Name.
- Autocomplete Template: define the categories template in the autocomplete.
You can Enable CMS Search. If enabled, CMS pages will be indexed in Elasticsearch and new parameters will be displayed in the configuration.
- Enable in Search Results: If enabled, CMS pages will also be displayed in the column of the search results page.
- Enable in Autocomplete: If enabled, CMS pages will also be searchable in the autocomplete box.
- Search Results Limit: Limit number of results displayed in the right column of the search results page. Note that “0” or empty means unlimited.
- Searchable Attributes: Define which attributes are searchable.
- Excluded Pages: Selected CMS pages will be excluded from search.
- Autocomplete Template: Define the template of cms pages in the autocomplete.
STEP 4: Manage the weight to boost the results
By product attributes
The Elasticsearch extension allows you to easily boost your product attributes in the search results by giving them a weight.
To define some weight for each one of your attributes, you can go to Stores > Attributes > Products.
Edit the attribute you want. In the Storefront Properties tab, configure Use in Search on YES and define a value from 1 to 10 depending on the weight you want to assign to it. You can also choose to make this attribute visible in the advanced search.
Boost your search results with Elasticsearch® for Magento® 2!
Enjoy a powerful autocomplete
- Benefit from a very fast autocomplete
- Search on products, categories and CMS pages
Boost your products and product attributes
- new Apply a weight to each product individually
- Apply a weight to each attribute
- Search on attribute options
Manage your index with ease
- new Browse the indexed data directly from your admin panel
- Use the ultra-fast indexation
- Handle thousands of products easily
Completely configure your Elastic Search extension
- Define a configuration specific to each store view
What are the Magento® versions supported by Elasticsearch®?
This extension works with Magento Community Edition and also Magento Enterprise Edition. To know if Elasticsearch® is compatible with your Magento version, please check the Compatibility tab.Elasticsearch® is now compatible with Magento 2. Check the online documentation to know how Elasticsearch® works on Magento 2.
How to install Elasticsearch on Magento® 2?
Here are the steps to install the Elasticsearch extension on Magento 2:
- Before installing the extension, it's advisable to backup your Magento 2 installation.
- Then, you need to refresh caches in System > Tools > Cache Management.
- Now you can download the zipped extension from your Wyomind account > My downloads.
- Once you have downloaded it, unzip the folder content.
- Copy the app folder and paste it into the Magento 2 root directory. You can merge the directories.
- Copy the app/code/Wyomind/Elasticsearch/autocomplete.php file from the extension in the Magento 2 root directory.
- Open a console and run the 3 following commands on Magento 2 root directory:
php composer.phar require elasticsearch/elasticsearch
Or, if the composer has been installed as a binary executable, run:
composer require elasticsearch/elasticsearch
Then, continue and execute the 2 following commands:
Once your installation is complete, don't forget to clear the cache and log in again. Finally, you can reindex the full-text index by running the following command:
php bin/magento indexer:reindex catalogsearch_fulltext
How come I didn't receive my payment confirmation for Elasticsearch®?
The payment confirmation email should only take a few minutes to be sent, rarely more than one hour. In the case where you didn't receive anything, you can:
- Check your spam filter.
- Contact us and we will try to send it again.
How to download the Elasticsearch® package for Magento® 2?
Go to My account > My downloads and click on the orange arrow next to the extension you've just purchased.
A new window opens. Click on the button on the right that specifies the version of the extension. Choose the version under Magento 2. Click on download. Your download can start.
For any extension, you can download the package even after your free upgrade period.Check our faqs to install your extension and activate your license.
How can I run some actions via command lines?
With Magento 2, you can use the control panel to easily execute some commands such as disabling a module or cleaning the cache.
To do so, you just need to open the control panel and from the bin/magento file, executing a command. Here is a non exhaustive list:
- setup:upgrade : update the install, for example after the installation of a new module.
- cache:clean : clean the cache.
- cache:enable : enable the cache.
- cache:disable : disable the cache.
- module:enable Wyomind_ExtensionName : activate the Wyomind module (for example module:enable Wyomind_SimpleGoogleShopping).
- module:disable Wyomind_ExtensionName : disable the Wyomind module (for example module:disable Wyomind_DataFeedManager).
- indexer:reindex : reindex the index in the database
How do I uninstall Elasticsearch® from Magento® 2?
In order to uninstall Elasticsearch® from Magento 2, here is how to proceed:
- Remove the following file from your Magento 2 root directory: app > code > Wyomind > elasticsearch®
- In your data base, from the setup_module table, remove: Wyomind_elasticsearch®
- Clear the caches
Where can I find my activation key?
You can find your activation key in 3 different places.
1. In the confirmation email that you've received after the purchase of your extension
2. In your Wyomind account
Log into your Wyomind account. In My account > My downloads, choose your extension and click on the orange arrow on its right. A new window opens where you should find the activation key.
3. In your Magento 2 admin when the extension is already installed and activated
Log into your Magento 2 admin panel. In Stores > Settings > Configuration > Wyomind > Elasticsearch®, you should see the License tab. In that tab you'll find your activation key.
How do I activate Elasticsearch®?
To activate Elasticsearch® on Magento 2, you need to:
1. Copy the activation key available in your Wyomind account (check our FAQ to know where to find your activation key). For example: ACTIVATION-KEY.
2. Go to your Magento 2 admin. A message appears at the top.
3. In Stores > Settings > Configuration > Wyomind > Elasticsearch®, paste the activation key in the Activation key field.
4. Choose between the Automatic (Yes) or the Manual (No) activation method.
- Automatic (Yes): you allow a connection to Wyomind's license server
- Manual (No): you must log in with your browser to Wyomind's license server
5. Click on Save config.
6. A message appears at the top of your Magento 2 admin: Activate it now! Click on that link.
7. Copy and paste the license code in the License code field from your Magento 2 admin or simply click on Activate now!.
8. Finally, you must log out and clear the caches so that the installation is complete. And that's all!To activate the license of an extension that includes other modules (for example Advanced Inventory that includes 3 modules), you will have to repeat the above steps for each module (in the case of Advanced Inventory there will be 4 modules to activate) using the activation keys corresponding to each module.
How do I activate Elasticsearch® on a local, development or staging environment?
You don't need to buy 2 licenses for 2 domains to test Elasticsearch® on a staging server first as a license is valid for one live domain and as many staging or development environments you need for Magento 2. To be able to use Elasticsearch® on production and pre-production domains, you have to follow some steps. Here is how to proceed:
- Install Elasticsearch® on your production environment.
- Activate the license.
- You can now use Elasticsearch® on your production domain.
Now you want to use Elasticsearch® on your live domain.
- Redownload your extension package from your Wyomind account.
- Install the extension on your live domain.
- From your Magento 2 admin panel, in Stores > Settings > Configuration > Wyomind > Elasticsearch®, fill in your current activation key.
- Click on Save config.
- A notification is displayed offering you to Buy a new license or to Add this domain to my license.
- Click on Add this domain to my license.
- Your request should be approved within one hour (see conditions).
- You receive a confirmation email.
- Once your request is accepted, you can use your extension on both domains.
I get a message "Request an IP unlock" in my Magento® 2 back-office.
If you're getting this message, it probably means that you have filled in the Activation Key field in Stores > Settings > Configuration > Wyomind > Elasticsearch® with a wrong activation key too many times.
You will then need to follow these steps:
- Click on Request an IP unlock.
- Your request should be accepted within one hour.
- During that time, check which activation key you need to provide (our Faq will help you find your activation key).
- Once your IP unlock request has been approved, paste your activation key in the Activation key field in Stores > Settings > Configuration > Wyomind > Elasticsearch® and click on Save Config.
Then, you can finalize the activation of the license.
I continuously get "Request an IP unlock" in my admin even after having unlocked it several times.
In order to solve this problem, you must empty the License code field from Stores > Settings > Configuration > Wyomind > Your extension and click on Save config. Finally, reactivate your license by clicking on Activate Now.
You may also have to request a free license transfer. If so, you can follow our faq.
I get an error "Unable to update your license" in my Magento® 2 back-office.
If you get the following message in your Magento 2 admin:
Unable to update your license: your subscription has expired.
In order to extend your subscription, please connect into your Wyomind account.
It probably means that you installed a higher version than the one you're licensed for.
You'll have 2 possibilities:
- Download and install the extension version you purchased by selecting for example 8.0.0 (installed).
- Increase your upgrade period and install the last version of the extension clicking on Upgrade now.
How do I upgrade Elasticsearch® to the latest version?
You can upgrade directly from your account.
1. Go to My account > My download.
2. Click on the grey arrow next to Elasticsearch®.
3. Click on Upgrade Now.
4. Enter your current activation key and click on the orange tick next to it.
5. Tick the domain name for which you want to upgrade Elasticsearch®.
6. Choose 1 month or 1 year of upgrade.
7. Choose a Professional installation or not.
8. Click on Buy now.
Magento® Community Edition
Magento® Enterprise Edition
Leave your review and get up to 3 months of FREE upgrade
Wyomind is the only foreign company we trust in! The support is great and fast, we never have seen this quality in supporting software. we can recommend the whole team. The extensions are also really helpful
NIco - http://www.tonerzilla.de
13th January 2017
Extremely quick, easy to understand (even for me) and very good results. Thanks for another great module guys (and all the support)
5th January 2017
Nice support for elastic search for magento 1.9
We need some modification for our website. Elasticsearch was a huge help for searching our 40.000 products catalog. Wyomind support was excellent and very fast, they replied in < 1 hour.
Elio Baldini - https://www.casaebagno.it
3rd January 2017
Amélioration recherche Magento
- Simple à configurer côté admin Magento - Côté serveur, pour les néophytes, il faudra passer par prestataire pour installer le serveur elastic search - Un souci, cependant... depuis une maj de Magento vers la 188.8.131.52... la fonction voir tous les produits ne fonctionne plus (gênant même handicapant - recherche solution)
1st January 2017
A must for improving search results
Installation is really quick. It's a must for the users to help them find the products they are really looking for. Highly recommend it !
22nd December 2016
Very good search extension
I have tried solr bridge, but this extension with elasticsearch is more flexible and way better customizable. I recommend this extension if you are looking for better search results. Very fast support and problem solvers.
18th December 2016
A must have extension and fast support!
Initially had some trouble getting the module working with my theme but Wyomind had it sorted out in no time. The default search in Magento 1 is very lackluster so we needed something that gave more precise search result and this extension did exactly that. Would highly recommend.
André - http://savdoktoren.dk
16th December 2016
Best solution for elasticsearch
After trying many different opensource/free modules none were providing full operation without errors.Fast process (less than 5 mins) from purchasing to install with no issues at all.
8th December 2016
Extremely responsive support
Extremely responsive support that has gone above and beyond to ensure our satisfaction. Code quality is unparalleled, Wyomind have proven themselves time and time again with amazing extensions. Very happy!
22nd September 2016
Powerful Extension and Support
Great fast module and support is also very very good and fast.
23rd October 2015
Great and fast Support
This extension in combination with elastic search is a must have for every magento shop!Although it was not working after installation bubble support was fast, kind and effectiv in helping to get it work as should!
21st October 2015
This extension is pure magic.Extremely easy to install and configure.Needed to make a small change and it was very easy to do. The code is clean and respect Magento's guidelines.Support was really fast (less than a day to answer) and really helpful.If you want to upgrade Magento's basic search, this is the way to go!
27th August 2015
Johann was very quick to respond and provided excellent support. We had an issue with a theme file that he fixed very quickly.Would definitely buy from him again.
20th August 2015
Great extension - great support
We have a new webshop with more than 250k+ products. So we had to get a good and fast search. We wanted a fulltext search (even the descriptions of the products should be indexed) with features like suggestions on bad search phrases and a fault tolerant search. So MySQL as engine has been no choice. On our search for better fulltext search engines we found elasticsearch a cluster based search engine (single node on localhost is possible too). And even better we found this extension that would integrate our elasticsearch engine.The search indexing process in the backend is really fast even with descriptions of the products included (< 10 minutes) The performance and the relevance of the search results in the frontend are fast, impressive and more than satisfying. The speed, relevance and ordering of the search hits is outstanding good.We found a little bug and contacted the developer. The response time and time for eliminating the bug has been fast and competent.Yes, we are a very satisfied customer and yes we recommend this extension.
12th August 2015
Highly recommended search enhancement
Let's face it, the integrated MySQL search stinks. This module adds support for elasticsearch, which is the current state-of-the-art open source search solution.Not only is this search engine lightning quick, but it comes with features like a suggest that actually suggests something before the sun goes down, complete with thumbnails of the products in the suggest fold-down menu. Fuzzy search means you can mistype and still get good results, and with added "Did you mean?" suggestions.The Bubble Search module integrates all this nicely into Magento in an easy to use fashion and with useful default settings. Other than you having to install elasticsearch, which is easy to do for a search engine, it is basically plug and play.I've found the developer's support to be outstanding, he's always quick to respond and help if a problem arises. Take it from someone who's been in the Enterprise Search business for a good dozen years: You want this search, and you don't need a way more expensive legacy search solution for most business cases.
16th October 2014
All seems to work well
A little tweaking on the settings side to allow greater weight to the product title and now the results work well. Easy installation. Would recommend
21st September 2014
Very Good Support and good quality extension
Johann has been very helpful and has helped make sure the extension works the way it should. very prompt email support. It is on of the best search extensions on the market. Highly recommend it.
29th July 2014
Fast and easy to integrate, works perfect!
Excellent code quality, easy to integrate and it does what's been described on the box ;)If you need a fast industry standard drop-in replacement for the default magento search with ElasticSearch base, you should take an eye on this nice extension.
28th July 2014
Elasticsearch by BubbleShop A++++
Magento's built in search is worthless in the niche i'm in. So many people misspell the names of products or don't know exactly what they are searching for. Elasticsearch to the rescue! It's able to work without any special settings and deliver the correct products to the user. Search is useful again!Support has been fast for me, even on weekends.Just remember to secure your elasticsearchI use iptables:(maybe centOS specific)Secure Elasticsearchsudo iptables -A INPUT -i lo -p tcp --dport 9200 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 9200 -j DROPMust do this to each port elasticsearch is using 9201,etc..To undo the abovesudo iptables -D INPUT -i lo -p tcp --dport 9200 -j ACCEPTsudo iptables -D INPUT -p tcp --dport 9200 -j DROPThen runservice iptables restart
2nd June 2014
Works out of the box
This extension works good. However, developer support is poor. Developers are giving suggestions that are not very helpful and the response time is slow.
14th April 2014
Lightweight, working and clean extension
It's just working and indexing speed is overwhelming.Nice work.
6th February 2014
As a Magento Certified developer myself I was very pleasantly surprised with the quality of this module and the code. Not much configuration required.The support from the developer was great! (had a question or two regarding backporting this module to 1.6.1)This module in combination with a simple elasticsearch installation spead up our 200.000 product search immensly and gives much better results.
18th September 2013
This offer is limited to one domain per extension purchased from your account
- v5.2.0released on 04/10/2016
- Search weight by product: you can now apply a weight to each product individually
- Data browser: you can now check the data indexed in Elasticsearch server directly from the backoffice
- v5.1.6released on 02/10/2016
- Better handling of products list when using layered navigation
- v5.1.5released on 22/09/2016
- Ability to use either the product url, the shortest category product url, or the longest category product url in the autocomplete form
- v5.1.4released on 21/09/2016
- Check the Elasticsearch server's status directly from the admin
- v5.1.3released on 02/07/2016
- Advanced search management
- v5.1.2released on 28/06/2016
- Elasticsearch is compatible with Magento 2.1.0
- v5.1.0released on 22/06/2016
- Use of Elasticsearch on the frontend category pages
- Fix when deleting products from the admin
- v5.0.0released on 27/01/2016
- Elasticsearch is compatible with Magento 2
- v4.2.1released on 09/01/2017
- The auto-complete panel supports now the synonyms.
- v4.2.0released on 02/11/2016
- Can now add a weight to the products to boost them in the search results
- Compatibility with Magento 184.108.40.206
- v4.1.5released on 23/09/2016
- Check the Elasticsearch server's status directly from the admin
- v4.1.4released on 07/09/2016
- Better support of the multi-currency store views
- v4.1.3released on 11/06/2016
- Fix for Magento Enterprise when retrieving products urls
- v4.1.2released on 09/02/2016
- Added more flexibility on keyword search for SKU attribute
- Fixed missing product URL if core_url_rewrite.options is empty instead of null
- Fixed bug if autocomplete.php is a symlink