Magento search results are not very relevant even with the activation of the MySQL Fulltext search. Here is a module that allows you to use Elasticsearch search engine to optimize the search results of your Magento store.
Be careful, this module is for Magento 1.7+ only!
What is Elasticsearch?
Elasticsearch is a very powerful search engine written in Java and based on Apache Lucene. It allows to index millions of documents by replicating data automatically on Elasticsearch nodes you create. He thus manages to make the load distribution. Requests are made in JSON through HTTP requests, which makes it usable with any programming language.
To install Elasticsearch, simply follows instructions on GitHub: https://github.com/elasticsearch/elasticsearch#installation.
I also recommend installing the plugin elasticsearch-head that will allow you to use Elasticsearch from a web browser.
Installation of Elasticsearch module for Magento 1.7+
Extension is available on GitHub: https://github.com/jreinke/magento-elasticsearch
You have 2 ways to install it:
- Manual installation: download package here, unzip in Magento root folder, then clean cache.
- Installation with modgit:
modgit -e README.md clone elasticsearch https://github.com/jreinke/magento-elasticsearch.git
See a full example of how to use
Go to “System > Configuration > Catalog > Catalog Search” :
Now you can configure Elasticsearch parameters as you wish and reindex catalog search.
Elasticsearch documentation is available here.
For the curious, the code that builds and runs the query to Elasticsearch is